OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sparc/] [erc32/] [v2_0/] [src/] [hal_priv.c] - Blame information for rev 27

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
//===========================================================================
2
//
3
//      hal_priv.c
4
//
5
//      SPARC ERC32 Architecture sim-specific private variables
6
//
7
//===========================================================================
8
//####ECOSGPLCOPYRIGHTBEGIN####
9
// -------------------------------------------
10
// This file is part of eCos, the Embedded Configurable Operating System.
11
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12
//
13
// eCos is free software; you can redistribute it and/or modify it under
14
// the terms of the GNU General Public License as published by the Free
15
// Software Foundation; either version 2 or (at your option) any later version.
16
//
17
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
// for more details.
21
//
22
// You should have received a copy of the GNU General Public License along
23
// with eCos; if not, write to the Free Software Foundation, Inc.,
24
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
//
26
// As a special exception, if other files instantiate templates or use macros
27
// or inline functions from this file, or you compile this file and link it
28
// with other works to produce a work based on this file, this file does not
29
// by itself cause the resulting work to be covered by the GNU General Public
30
// License. However the source code for this file must still be made available
31
// in accordance with section (3) of the GNU General Public License.
32
//
33
// This exception does not invalidate any other reasons why a work based on
34
// this file might be covered by the GNU General Public License.
35
//
36
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
// at http://sources.redhat.com/ecos/ecos-license/
38
// -------------------------------------------
39
//####ECOSGPLCOPYRIGHTEND####
40
//===========================================================================
41
//#####DESCRIPTIONBEGIN####
42
//
43
// Author(s):    hmt
44
// Contributors: hmt
45
// Date:         1999-02-20
46
// Purpose:      private vars for SPARC ERC32.
47
//              
48
//####DESCRIPTIONEND####
49
//
50
//===========================================================================
51
 
52
 
53
#include <cyg/hal/hal_intr.h>
54
#include <cyg/hal/hal_arch.h>
55
 
56
// ------------------------------------------------------------------------
57
// Clock static to keep period recorded.
58
cyg_int32 cyg_hal_sparc_clock_period = 0;
59
 
60
// ------------------------------------------------------------------------
61
// Board specific startups.
62
 
63
extern void hal_board_prestart( void );
64
extern void hal_board_poststart( void );
65
 
66
void hal_board_prestart( void )
67
{
68
}
69
 
70
void hal_board_poststart( void )
71
{
72
    HAL_ENABLE_INTERRUPTS();
73
    // OK to do this post constructors, and good for testing.
74
}
75
 
76
cyg_uint32
77
hal_lsbit_index(cyg_uint32 mask)
78
{
79
    int i;
80
    for (i = 0;  i < 32;  i++) {
81
        if (mask & (1<<i)) return ((cyg_uint32)i);
82
    }
83
    return ((cyg_uint32)-1);
84
}
85
 
86
cyg_uint32
87
hal_msbit_index(cyg_uint32 mask)
88
{
89
    int i;
90
    for (i = 31;  i >= 0;  i--) {
91
        if (mask & (1<<i)) return ((cyg_uint32)i);
92
    }
93
    return ((cyg_uint32)-1);
94
}
95
 
96
void
97
hal_idle_thread_action(cyg_uint32 loop_count)
98
{
99
    *((volatile cyg_uint32 *) 0x01f80008) = 0;
100
}
101
 
102
 
103
// EOF hal_priv.c

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.