mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-27 06:58:19 +00:00
Name changes.
Add some more system calls.
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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'};
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user