diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-10-10 09:43:59 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-10-10 09:45:51 +0200 |
commit | d7a267b3c4c5d8c882940e45d75f5465651853bf (patch) | |
tree | af487219539bf68e021afbe6e7418d4326f23d63 | |
parent | bsps/powerpc: Fix warning (diff) | |
download | rtems-d7a267b3c4c5d8c882940e45d75f5465651853bf.tar.bz2 |
bsp/gen5200: Fix warnings
15 files changed, 67 insertions, 58 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/bestcomm/bestcomm_glue.c b/c/src/lib/libbsp/powerpc/gen5200/bestcomm/bestcomm_glue.c index bcd3e0ac17..c313771895 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/bestcomm/bestcomm_glue.c +++ b/c/src/lib/libbsp/powerpc/gen5200/bestcomm/bestcomm_glue.c @@ -127,7 +127,7 @@ void bestcomm_glue_irq_install /*=========================================================================*\ | Function: | \*-------------------------------------------------------------------------*/ -void bestcomm_glue_irq_dispatcher +static void bestcomm_glue_irq_dispatcher ( /*-------------------------------------------------------------------------*\ | Purpose: | diff --git a/c/src/lib/libbsp/powerpc/gen5200/console/console.c b/c/src/lib/libbsp/powerpc/gen5200/console/console.c index 999ecd59de..c2e093c62a 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/console/console.c +++ b/c/src/lib/libbsp/powerpc/gen5200/console/console.c @@ -180,7 +180,7 @@ uint8_t psc_minor_to_regset[MPC5200_PSC_NO] = {0,1,2,3,4,6}; /* Used to track termios private data for callbacks */ struct rtems_termios_tty *ttyp[NUM_PORTS]; -int mpc5200_psc_setAttributes( +static int mpc5200_psc_setAttributes( int minor, const struct termios *t ) @@ -264,7 +264,7 @@ int mpc5200_psc_setAttributes( } -int mpc5200_uart_setAttributes(int minor, const struct termios *t) +static int mpc5200_uart_setAttributes(int minor, const struct termios *t) { /* * Check that port number is valid @@ -361,7 +361,7 @@ static void mpc5200_psc_interrupt_handler(rtems_irq_hdl_param handle) } } -void mpc5200_psc_enable( +static void mpc5200_psc_enable( const rtems_irq_connect_data* ptr ) { @@ -376,7 +376,7 @@ void mpc5200_psc_enable( } -void mpc5200_psc_disable( +static void mpc5200_psc_disable( const rtems_irq_connect_data* ptr ) { @@ -390,7 +390,7 @@ void mpc5200_psc_disable( } } -int mpc5200_psc_isOn( +static int mpc5200_psc_isOn( const rtems_irq_connect_data* ptr ) { @@ -408,7 +408,7 @@ int mpc5200_psc_isOn( static rtems_irq_connect_data consoleIrqData; #endif -void mpc5200_uart_psc_initialize( +static void mpc5200_uart_psc_initialize( int minor ) { @@ -532,7 +532,7 @@ void mpc5200_uart_psc_initialize( } -int mpc5200_uart_pollRead( +static int mpc5200_uart_pollRead( int minor ) { @@ -549,7 +549,7 @@ int mpc5200_uart_pollRead( } -ssize_t mpc5200_uart_pollWrite( +static ssize_t mpc5200_uart_pollWrite( int minor, const char *buf, size_t len @@ -575,7 +575,7 @@ ssize_t mpc5200_uart_pollWrite( } -ssize_t mpc5200_uart_write( +static ssize_t mpc5200_uart_write( int minor, const char *buf, size_t len diff --git a/c/src/lib/libbsp/powerpc/gen5200/i2c/mpc5200mbus.c b/c/src/lib/libbsp/powerpc/gen5200/i2c/mpc5200mbus.c index 3031e2afa6..cfb4cd0141 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/i2c/mpc5200mbus.c +++ b/c/src/lib/libbsp/powerpc/gen5200/i2c/mpc5200mbus.c @@ -438,7 +438,7 @@ mpc5200mbus_machine(mpc5200mbus *bus, i2c_event event) * RETURNS: * none */ -void mpc5200mbus_interrupt_handler(rtems_irq_hdl_param handle) +static void mpc5200mbus_interrupt_handler(rtems_irq_hdl_param handle) { i2c_event event; mpc5200mbus *bus = handle; @@ -456,7 +456,7 @@ void mpc5200mbus_interrupt_handler(rtems_irq_hdl_param handle) * mpc5200_mbus_irq_enable * enable irq for mbus */ -void mpc5200mbus_irq_enable(const rtems_irq_connect_data* ptr) +static void mpc5200mbus_irq_enable(const rtems_irq_connect_data* ptr) { int minor = ((mpc5200mbus*)(ptr->handle))->bus_idx; @@ -467,7 +467,7 @@ void mpc5200mbus_irq_enable(const rtems_irq_connect_data* ptr) * mpc5200_mbus_irq_disable * enable irq for mbus */ -void mpc5200mbus_irq_disable(const rtems_irq_connect_data* ptr) +static void mpc5200mbus_irq_disable(const rtems_irq_connect_data* ptr) { int minor = ((mpc5200mbus*)(ptr->handle))->bus_idx; @@ -478,7 +478,7 @@ void mpc5200mbus_irq_disable(const rtems_irq_connect_data* ptr) * mpc5200_mbus_isOn * check, whether irq is enabled */ -int mpc5200mbus_irq_isOn(const rtems_irq_connect_data* ptr) +static int mpc5200mbus_irq_isOn(const rtems_irq_connect_data* ptr) { int minor = ((mpc5200mbus*)(ptr->handle))->bus_idx; diff --git a/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c b/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c index ed6beb4f61..9420b4edec 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c +++ b/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c @@ -138,7 +138,7 @@ void mpc5200_pcmciaide_dma_blockop( /* * support functions for PCMCIA IDE IF */ -bool mpc5200_pcmciaide_probe(int minor) +static bool mpc5200_pcmciaide_probe(int minor) { bool ide_card_plugged = false; /* assume: we don't have a card plugged in */ struct mpc5200_gpt *gpt = (struct mpc5200_gpt *)(&mpc5200.gpt[GPT2]); @@ -181,7 +181,7 @@ bool mpc5200_pcmciaide_probe(int minor) #define DMA2_TJ(val) BSP_BFLD32(COUNT_VAL(val), 8, 15) #define DMA2_TN(val) BSP_BFLD32(COUNT_VAL(val), 16, 23) -rtems_status_code mpc5200_pcmciaide_config_io_speed(int minor, uint16_t modes_avail) +static rtems_status_code mpc5200_pcmciaide_config_io_speed(int minor, uint16_t modes_avail) { uint8_t pio_t0, pio_t2_8, pio_t2_16, pio_t4, pio_t1, pio_ta; @@ -221,7 +221,7 @@ rtems_status_code mpc5200_pcmciaide_config_io_speed(int minor, uint16_t modes_av -void mpc5200_pcmciaide_read_reg(int minor, int reg, uint16_t *value) +static void mpc5200_pcmciaide_read_reg(int minor, int reg, uint16_t *value) { volatile uint32_t *ata_reg = mpc5200_ata_drive_regs[reg]; @@ -232,7 +232,7 @@ void mpc5200_pcmciaide_read_reg(int minor, int reg, uint16_t *value) } -void mpc5200_pcmciaide_write_reg(int minor, int reg, uint16_t value) +static void mpc5200_pcmciaide_write_reg(int minor, int reg, uint16_t value) { volatile uint32_t *ata_reg = mpc5200_ata_drive_regs[reg]; @@ -465,8 +465,8 @@ void mpc5200_pcmciaide_dma_blockop(bool is_write, } -void mpc5200_pcmciaide_read_block(int minor, uint32_t block_size, rtems_blkdev_sg_buffer *bufs, - uint32_t *cbuf, uint32_t *pos) +static void mpc5200_pcmciaide_read_block(int minor, uint32_t block_size, + rtems_blkdev_sg_buffer *bufs, uint32_t *cbuf, uint32_t *pos) { volatile uint32_t *ata_reg=mpc5200_ata_drive_regs[IDE_REGISTER_DATA_WORD]; @@ -543,10 +543,8 @@ void mpc5200_pcmciaide_read_block(int minor, uint32_t block_size, rtems_blkdev_s } } -void mpc5200_pcmciaide_write_block(int minor, uint32_t block_size, - rtems_blkdev_sg_buffer *bufs, uint32_t *cbuf, - uint32_t *pos) - +static void mpc5200_pcmciaide_write_block(int minor, uint32_t block_size, + rtems_blkdev_sg_buffer *bufs, uint32_t *cbuf, uint32_t *pos) { @@ -635,12 +633,12 @@ void mpc5200_pcmciaide_write_block(int minor, uint32_t block_size, } } -int mpc5200_pcmciaide_control(int minor, uint32_t cmd, void * arg) +static int mpc5200_pcmciaide_control(int minor, uint32_t cmd, void * arg) { return RTEMS_SUCCESSFUL; } -void mpc5200_pcmciaide_initialize(int minor) +static void mpc5200_pcmciaide_initialize(int minor) { #if defined (MPC5200_BOARD_BRS5L) struct mpc5200_gpt *gpt = (struct mpc5200_gpt *)(&mpc5200.gpt[GPT7]); diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h index 59e8245f78..08edee542e 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h @@ -254,6 +254,13 @@ void BSP_IRQ_Benchmarking_Report(void); void cpu_init(void); +int mpc5200_eth_mii_read( + int phyAddr, + void *arg, + unsigned regAddr, + uint32_t *retVal +); + #ifdef __cplusplus } #endif diff --git a/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c b/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c index 68573a8168..c689374a41 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c +++ b/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c @@ -503,7 +503,7 @@ static void dispatch(uint32_t irq, uint32_t offset, volatile uint32_t *maskreg) /* * High level IRQ handler called from shared_raw_irq_code_entry */ -int C_dispatch_irq_handler(BSP_Exception_frame *frame, unsigned excNum) +static int C_dispatch_irq_handler(BSP_Exception_frame *frame, unsigned excNum) { uint32_t irq; uint32_t pmce; @@ -622,7 +622,7 @@ int C_dispatch_irq_handler(BSP_Exception_frame *frame, unsigned excNum) /* * setup irqMaskTable to support a priorized/nested interrupt environment */ -void setup_irqMaskTable( void) +static void setup_irqMaskTable( void) { rtems_irq_prio prio = 0; uint32_t i = 0, @@ -669,7 +669,7 @@ void setup_irqMaskTable( void) /* * Initialize MPC5x00 SIU interrupt management */ -void BSP_SIU_irq_init( void) +static void BSP_SIU_irq_init( void) { /* disable all peripheral interrupts */ diff --git a/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c b/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c index e74ea1b2b5..ae85c10188 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c +++ b/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c @@ -352,7 +352,7 @@ static void mscan_interrupts_enable(mscan *m) /* * Unmask MPC5x00 MSCAN_A interrupts */ -void mpc5200_mscan_a_on(const rtems_irq_connect_data * ptr) +static void mpc5200_mscan_a_on(const rtems_irq_connect_data * ptr) { mscan *m = (&chan_info[MSCAN_A])->regs; @@ -365,7 +365,7 @@ void mpc5200_mscan_a_on(const rtems_irq_connect_data * ptr) /* * Mask MPC5x00 MSCAN_A interrupts */ -void mpc5200_mscan_a_off(const rtems_irq_connect_data * ptr) +static void mpc5200_mscan_a_off(const rtems_irq_connect_data * ptr) { mscan *m = (&chan_info[MSCAN_A])->regs; @@ -378,7 +378,7 @@ void mpc5200_mscan_a_off(const rtems_irq_connect_data * ptr) /* * Get MSCAN_A interrupt mask setting */ -int mpc5200_mscan_a_isOn(const rtems_irq_connect_data * ptr) +static int mpc5200_mscan_a_isOn(const rtems_irq_connect_data * ptr) { mscan *m = (&chan_info[MSCAN_A])->regs; @@ -394,7 +394,7 @@ int mpc5200_mscan_a_isOn(const rtems_irq_connect_data * ptr) /* * Unmask MPC5x00 MSCAN_B interrupts */ -void mpc5200_mscan_b_on(const rtems_irq_connect_data * ptr) +static void mpc5200_mscan_b_on(const rtems_irq_connect_data * ptr) { mscan *m = (&chan_info[MSCAN_B])->regs; @@ -407,7 +407,7 @@ void mpc5200_mscan_b_on(const rtems_irq_connect_data * ptr) /* * Mask MPC5x00 MSCAN_B interrupts */ -void mpc5200_mscan_b_off(const rtems_irq_connect_data * ptr) +static void mpc5200_mscan_b_off(const rtems_irq_connect_data * ptr) { mscan *m = (&chan_info[MSCAN_B])->regs; @@ -420,7 +420,7 @@ void mpc5200_mscan_b_off(const rtems_irq_connect_data * ptr) /* * Get MSCAN_B interrupt mask setting */ -int mpc5200_mscan_b_isOn(const rtems_irq_connect_data * ptr) +static int mpc5200_mscan_b_isOn(const rtems_irq_connect_data * ptr) { mscan *m = (&chan_info[MSCAN_B])->regs; @@ -491,7 +491,7 @@ void mpc5200_mscan_wait_sync(mscan *m) /* * MPC5x00 MSCAN perform settings in init mode */ -void mpc5200_mscan_perform_initialization_mode_settings(mscan *m) +static void mpc5200_mscan_perform_initialization_mode_settings(mscan *m) { mscan_context context; @@ -829,13 +829,11 @@ rtems_device_driver mscan_close(rtems_device_major_number major, rtems_device_minor_number minor, void *arg) { rtems_status_code status; - struct mscan_channel_info *chan = NULL; switch (minor) { case MSCAN_A: case MSCAN_B: - chan = &chan_info[minor]; break; default: @@ -912,14 +910,12 @@ rtems_device_driver mscan_write(rtems_device_major_number major, struct mscan_tx_parms *tx_parms = (struct mscan_tx_parms *) (parms->buffer); struct can_message *tx_mess = (struct can_message *) (tx_parms->tx_mess); struct mscan_channel_info *chan = NULL; - mscan_handle *mscan_hdl = NULL; mscan *m = NULL; switch (minor) { case MSCAN_A: case MSCAN_B: chan = &chan_info[minor]; - mscan_hdl = mpc5200_mscan_irq_data[minor].handle; m = chan->regs; break; diff --git a/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c b/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c index 22bec17628..2e11915b26 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c +++ b/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c @@ -443,7 +443,7 @@ static void mpc5200_fec_reset(mpc5200_fec_context *self) * Notes: * */ -void mpc5200_fec_off(mpc5200_fec_context *self) +static void mpc5200_fec_off(mpc5200_fec_context *self) { int counter = 0xffff; @@ -502,7 +502,7 @@ void mpc5200_fec_off(mpc5200_fec_context *self) /* * MPC5200 FEC interrupt handler */ -void mpc5200_fec_irq_handler(rtems_irq_hdl_param handle) +static void mpc5200_fec_irq_handler(rtems_irq_hdl_param handle) { mpc5200_fec_context *self = (mpc5200_fec_context *) handle; volatile uint32_t ievent; @@ -537,7 +537,7 @@ void mpc5200_fec_irq_handler(rtems_irq_hdl_param handle) } } -void mpc5200_smartcomm_rx_irq_handler(void *arg) +static void mpc5200_smartcomm_rx_irq_handler(void *arg) { mpc5200_fec_context *self = arg; @@ -547,7 +547,7 @@ void mpc5200_smartcomm_rx_irq_handler(void *arg) bestcomm_glue_irq_disable(FEC_RECV_TASK_NO); } -void mpc5200_smartcomm_tx_irq_handler(void *arg) +static void mpc5200_smartcomm_tx_irq_handler(void *arg) { mpc5200_fec_context *self = arg; @@ -559,7 +559,7 @@ void mpc5200_smartcomm_tx_irq_handler(void *arg) static void mpc5200_fec_init_mib(mpc5200_fec_context *self) { - memset(&mpc5200.RES [0], 0, 0x2e4); + memset(RTEMS_DEVOLATILE(uint8_t *, &mpc5200.RES [0]), 0, 0x2e4); mpc5200.mib_control = 0x40000000; } @@ -1294,7 +1294,7 @@ static void enet_stats (mpc5200_fec_context *self) printf (" Tx Misaligned:%-8lu\n", self->txMisaligned); } -int32_t mpc5200_fec_setMultiFilter(struct ifnet *ifp) +static int32_t mpc5200_fec_setMultiFilter(struct ifnet *ifp) { /*mpc5200_fec_context *self = ifp->if_softc; */ /* XXX anything to do? */ @@ -1397,7 +1397,7 @@ static int mpc5200_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_ /* * Attach the MPC5200 fec driver to the system */ -int rtems_mpc5200_fec_driver_attach(struct rtems_bsdnet_ifconfig *config) +static int rtems_mpc5200_fec_driver_attach(struct rtems_bsdnet_ifconfig *config) { mpc5200_fec_context *self; struct ifnet *ifp; diff --git a/c/src/lib/libbsp/powerpc/gen5200/slicetimer/slicetimer.c b/c/src/lib/libbsp/powerpc/gen5200/slicetimer/slicetimer.c index 4610b3cec3..396059ca9d 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/slicetimer/slicetimer.c +++ b/c/src/lib/libbsp/powerpc/gen5200/slicetimer/slicetimer.c @@ -230,7 +230,7 @@ uint32_t mpc5200_check_slt_status(uint32_t slt_no) /* * switch MPC5x00 slt on */ -void sltOn(const rtems_irq_connect_data* irq) +static void sltOn(const rtems_irq_connect_data* irq) { uint32_t slt_no = 0; @@ -248,7 +248,7 @@ void sltOn(const rtems_irq_connect_data* irq) /* * switch MPC5x00 slt off */ -void sltOff(const rtems_irq_connect_data* irq) +static void sltOff(const rtems_irq_connect_data* irq) { uint32_t slt_no = 0; @@ -265,7 +265,7 @@ void sltOff(const rtems_irq_connect_data* irq) /* * get status of MPC5x00 slt */ -int sltIsOn(const rtems_irq_connect_data* irq) +static int sltIsOn(const rtems_irq_connect_data* irq) { uint32_t slt_no = 0; diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c index 47e16ec964..cf92b330df 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c @@ -126,16 +126,13 @@ void _BSP_Fatal_error(unsigned int v) void bsp_start(void) { - ppc_cpu_id_t myCpu; - ppc_cpu_revision_t myCpuRevision; - /* * Get CPU identification dynamically. Note that the get_ppc_cpu_type() * function store the result in global variables so that it can be used * later... */ - myCpu = get_ppc_cpu_type(); - myCpuRevision = get_ppc_cpu_revision(); + get_ppc_cpu_type(); + get_ppc_cpu_revision(); #if defined(HAS_UBOOT) && defined(SHOW_MORE_INIT_SETTINGS) { diff --git a/c/src/lib/libbsp/powerpc/gen5200/tod/pcf8563.c b/c/src/lib/libbsp/powerpc/gen5200/tod/pcf8563.c index b0cd333009..e15d47adf4 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/tod/pcf8563.c +++ b/c/src/lib/libbsp/powerpc/gen5200/tod/pcf8563.c @@ -58,7 +58,7 @@ * PARAMETERS: * minor -- minor RTC device number */ -void +static void pcf8563_initialize(int minor) { i2c_message_status status; @@ -103,7 +103,7 @@ pcf8563_initialize(int minor) * 0, if time obtained successfully * -1, if error occured */ -int +static int pcf8563_get_time(int minor, rtems_time_of_day *time) { i2c_bus_number bus; @@ -170,7 +170,7 @@ pcf8563_get_time(int minor, rtems_time_of_day *time) * 0, if time obtained successfully * -1, if error occured */ -int +static int pcf8563_set_time(int minor, const rtems_time_of_day *time) { i2c_bus_number bus; diff --git a/c/src/lib/libbsp/powerpc/shared/showbats.c b/c/src/lib/libbsp/powerpc/shared/showbats.c index 236deab5e7..16cbbeed31 100644 --- a/c/src/lib/libbsp/powerpc/shared/showbats.c +++ b/c/src/lib/libbsp/powerpc/shared/showbats.c @@ -14,6 +14,7 @@ #include <bsp.h> #include <rtems/bspIo.h> #include <libcpu/spr.h> +#include <libcpu/powerpc-utility.h> void printBAT( int bat, uint32_t upper, uint32_t lower ) { diff --git a/c/src/lib/libbsp/powerpc/shared/uboot_getenv.c b/c/src/lib/libbsp/powerpc/shared/uboot_getenv.c index 7e487de6fc..912560193c 100644 --- a/c/src/lib/libbsp/powerpc/shared/uboot_getenv.c +++ b/c/src/lib/libbsp/powerpc/shared/uboot_getenv.c @@ -9,6 +9,7 @@ #include <stdint.h> #include <string.h> +#include <bsp.h> /* Assumed to be provided by BSP */ extern const uint8_t *uboot_environment; diff --git a/c/src/lib/libbsp/shared/include/u-boot.h b/c/src/lib/libbsp/shared/include/u-boot.h index d16fdfb73c..a6daa29e56 100644 --- a/c/src/lib/libbsp/shared/include/u-boot.h +++ b/c/src/lib/libbsp/shared/include/u-boot.h @@ -45,6 +45,9 @@ extern bd_t bsp_uboot_board_info; void bsp_uboot_copy_board_info(const bd_t *src); +/* FIXME: Do not use this function */ +void dumpUBootBDInfo(bd_t *u); + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h b/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h index ad3c8a7b95..1cceb75512 100644 --- a/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h +++ b/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h @@ -822,6 +822,12 @@ static inline uint32_t ppc_fsl_system_version_mnrev(uint32_t svr) void ppc_code_copy(void *dest, const void *src, size_t n); +/* FIXME: Do not use this function */ +void printBAT(int bat, uint32_t upper, uint32_t lower); + +/* FIXME: Do not use this function */ +void ShowBATS(void); + #endif /* ifndef ASM */ #if defined(ASM) |