Name changes.

Add some more system calls.
This commit is contained in:
Eric Norum
2005-02-10 22:22:59 +00:00
parent 50269c464a
commit 16ae480f42
3 changed files with 35 additions and 6 deletions

View File

@@ -67,10 +67,22 @@ extern rtems_configuration_table BSP_Configuration;
/* functions */
typedef struct {
unsigned int l;
void *v;
} bsp_mnode_t;
#define RTEMS_BSP_PGM_ERASE_FIRST 0x1
#define RTEMS_BSP_PGM_RESET_AFTER 0x2
#define RTEMS_BSP_PGM_EXEC_AFTER 0x4
#define RTEMS_BSP_PGM_HALT_AFTER 0x8
uint32_t bsp_get_CPU_clock_speed(void);
rtems_status_code bsp_allocate_interrupt(int level, int priority);
unsigned const char *uC5282_gethwaddr(int a);
const char *uC5282_getbenv(const char *a);
int bsp_reset(int flags);
int bsp_program(bsp_mnode_t *chain, int flags);
unsigned const char *bsp_gethwaddr(int a);
const char *bsp_getbenv(const char *a);
void bsp_cleanup(void);

View File

@@ -808,7 +808,7 @@ rtems_fec_driver_attach(struct rtems_bsdnet_ifconfig *config, int attaching )
if (config->hardware_address) {
hwaddr = config->hardware_address;
}
else if ((hwaddr = uC5282_gethwaddr(unitNumber - 1)) == NULL) {
else if ((hwaddr = bsp_gethwaddr(unitNumber - 1)) == NULL) {
/* Locally-administered address */
static const char defaultAddress[ETHER_ADDR_LEN] = {
0x06, 'R', 'T', 'E', 'M', 'S'};

View File

@@ -277,11 +277,11 @@ do { \
return (type)(ret); \
} while (0)
#define syscall_1(type,name,d1type,d1) \
type uC5282_##name(d1type d1) \
type bsp_##name(d1type d1) \
{ \
long ret; \
register long __d1 __asm__ ("%d1") = (long)d1; \
__asm__ __volatile__ ("move.l %0,%%d0\n\t" \
__asm__ __volatile__ ("move.l %1,%%d0\n\t" \
"trap #2\n\t" \
"move.l %%d0,%0" \
: "=g" (ret) \
@@ -289,12 +289,29 @@ type uC5282_##name(d1type d1) \
: "d0" ); \
syscall_return(type,ret); \
}
#define syscall_2(type,name,d1type,d1,d2type,d2) \
type bsp_##name(d1type d1, d2type d2) \
{ \
long ret; \
register long __d1 __asm__ ("%d1") = (long)d1; \
register long __d2 __asm__ ("%d2") = (long)d2; \
__asm__ __volatile__ ("move.l %1,%%d0\n\t" \
"trap #2\n\t" \
"move.l %%d0,%0" \
: "=g" (ret) \
: "d" (SysCode_##name), "d" (__d1),\
"d" (__d2) \
: "d0" ); \
syscall_return(type,ret); \
}
#define SysCode_reset 0 /* reset */
#define SysCode_program 5 /* program flash memory */
#define SysCode_gethwaddr 12 /* get hardware address */
#define SysCode_getbenv 14 /* get bootloader environment variable */
#define SysCode_setbenv 15 /* get bootloader environment variable */
syscall_1(unsigned const char *, gethwaddr, int, a)
syscall_1(const char *, getbenv, const char *, a)
syscall_2(int, program, bsp_mnode_t *, chain, int, flags)
/*
* 'Extended BSP' routines