From 12bd47efc0f50d673c10528ed601eaf8b54f182b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 11 Dec 2007 15:49:53 +0000 Subject: 2007-12-11 Joel Sherrill * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies of the Configuration Table. Use the RTEMS provided accessor macros to obtain configuration fields. --- c/src/lib/libbsp/i386/i386ex/ChangeLog | 6 +++++ c/src/lib/libbsp/i386/i386ex/clock/ckinit.c | 6 ++--- c/src/lib/libbsp/i386/i386ex/include/bsp.h | 4 ---- c/src/lib/libbsp/i386/i386ex/startup/bspstart.c | 16 ++++--------- c/src/lib/libbsp/i386/pc386/ChangeLog | 6 +++++ c/src/lib/libbsp/i386/pc386/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/i386/pc386/include/bsp.h | 2 -- c/src/lib/libbsp/i386/pc386/startup/bspstart.c | 29 ++++------------------- c/src/lib/libbsp/i386/ts_386ex/ChangeLog | 6 +++++ c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c | 6 ++--- c/src/lib/libbsp/i386/ts_386ex/include/bsp.h | 2 -- c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c | 28 ++++++---------------- c/src/lib/libbsp/m68k/gen68340/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/gen68340/clock/ckinit.c | 2 +- c/src/lib/libbsp/m68k/gen68340/include/bsp.h | 8 ------- c/src/lib/libbsp/m68k/gen68340/startup/bspstart.c | 12 +--------- c/src/lib/libbsp/m68k/idp/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/idp/clock/ckinit.c | 2 +- c/src/lib/libbsp/m68k/idp/include/bsp.h | 2 -- c/src/lib/libbsp/m68k/idp/startup/bspstart.c | 12 +--------- c/src/lib/libbsp/m68k/mrm332/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/mrm332/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/m68k/mrm332/include/bsp.h | 3 --- c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c | 11 +-------- c/src/lib/libbsp/m68k/mvme136/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/mvme136/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/m68k/mvme136/include/bsp.h | 2 -- c/src/lib/libbsp/m68k/mvme136/startup/bspstart.c | 11 +-------- c/src/lib/libbsp/m68k/mvme147/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/m68k/mvme147/include/bsp.h | 2 -- c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c | 11 +-------- c/src/lib/libbsp/m68k/mvme162/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/m68k/mvme162/include/bsp.h | 2 -- c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c | 11 +-------- c/src/lib/libbsp/m68k/mvme167/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/mvme167/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/m68k/mvme167/include/bsp.h | 8 ------- c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c | 16 ++++--------- c/src/lib/libbsp/m68k/ods68302/ChangeLog | 6 +++++ c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c | 4 ++-- c/src/lib/libbsp/m68k/ods68302/include/bsp.h | 2 -- c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c | 12 +--------- c/src/lib/libbsp/no_cpu/no_bsp/ChangeLog | 6 +++++ c/src/lib/libbsp/no_cpu/no_bsp/clock/ckinit.c | 2 +- c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h | 4 ---- c/src/lib/libbsp/no_cpu/no_bsp/startup/bspstart.c | 11 +-------- c/src/lib/libbsp/sh/simsh4/ChangeLog | 6 +++++ c/src/lib/libbsp/sh/simsh4/clock/ckinit.c | 6 ++--- c/src/lib/libbsp/sh/simsh4/include/bsp.h | 1 - c/src/lib/libbsp/sh/simsh4/startup/bspstart.c | 13 ++-------- c/src/lib/libbsp/sparc/leon3/ChangeLog | 6 +++++ c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 4 +--- c/src/lib/libbsp/sparc/leon3/include/bsp.h | 2 -- c/src/lib/libbsp/sparc/leon3/startup/bspstart.c | 16 +++---------- 56 files changed, 144 insertions(+), 249 deletions(-) diff --git a/c/src/lib/libbsp/i386/i386ex/ChangeLog b/c/src/lib/libbsp/i386/i386ex/ChangeLog index e137640ed1..5539710662 100644 --- a/c/src/lib/libbsp/i386/i386ex/ChangeLog +++ b/c/src/lib/libbsp/i386/i386ex/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/i386/i386ex/clock/ckinit.c b/c/src/lib/libbsp/i386/i386ex/clock/ckinit.c index 5619c26503..e47af32971 100644 --- a/c/src/lib/libbsp/i386/i386ex/clock/ckinit.c +++ b/c/src/lib/libbsp/i386/i386ex/clock/ckinit.c @@ -55,7 +55,7 @@ void Clock_isr() Clock_driver_ticks += 1; if ( Clock_isrs == 1 ) { rtems_clock_tick(); - Clock_isrs = Clock_initial_isr_value; /* BSP_Configuration.microseconds_per_tick / 1000;*/ + Clock_isrs = Clock_initial_isr_value; /* rtems_configuration_get_microseconds_per_tick() / 1000;*/ } else Clock_isrs -= 1; @@ -96,7 +96,7 @@ rtems_device_driver Clock_initialize( Clock_isrs = Clock_initial_isr_value = - BSP_Configuration.microseconds_per_tick / 1000; /* ticks per clock_isr */ + rtems_configuration_get_microseconds_per_tick() / 1000; /* ticks per clock_isr */ /* * configure the counter timer ( should be based on microsecs/tick ) @@ -105,7 +105,7 @@ rtems_device_driver Clock_initialize( */ ClockOff ( &clockIrqData ); - timer_counter_init_value = BSP_Configuration.microseconds_per_tick / Clock_isrs; + timer_counter_init_value = rtems_configuration_get_microseconds_per_tick() / Clock_isrs; clock_lsb = (unsigned char)timer_counter_init_value; clock_msb = timer_counter_init_value >> 8; diff --git a/c/src/lib/libbsp/i386/i386ex/include/bsp.h b/c/src/lib/libbsp/i386/i386ex/include/bsp.h index 743fec4bea..ad51abe9f9 100644 --- a/c/src/lib/libbsp/i386/i386ex/include/bsp.h +++ b/c/src/lib/libbsp/i386/i386ex/include/bsp.h @@ -88,10 +88,6 @@ extern "C" { * NOTE: Use the standard Clock driver entry */ -/* miscellaneous stuff assumed to exist */ - -extern rtems_configuration_table BSP_Configuration; - #define IDT_SIZE 256 #define GDT_SIZE 8192 diff --git a/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c b/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c index 2783762b8e..b89ee9f36b 100644 --- a/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/i386ex/startup/bspstart.c @@ -27,14 +27,6 @@ void bsp_clean_up(void); #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; - /* * Tells us where to put the workspace in case remote debugger is present. */ @@ -72,7 +64,7 @@ void bsp_pretasking_hook(void) if (heap_start & (CPU_ALIGNMENT-1)) heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - heap_size = BSP_Configuration.work_space_start -(void *) heap_start ; + heap_size = Configuration.work_space_start -(void *) heap_start ; heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */ heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */ @@ -93,10 +85,10 @@ void bsp_start( void ) { void rtems_irq_mngt_init(); - BSP_Configuration.work_space_start = (void *) - RAM_END - BSP_Configuration.work_space_size; + Configuration.work_space_start = (void *) + RAM_END - rtems_configuration_get_work_space_size(); #ifdef DEBUG - printk("workspace size = 0x%x\nstart = 0x%x, RAM_END = 0x%x\n",BSP_Configuration.work_space_size, BSP_Configuration.work_space_start, RAM_END ); + printk("workspace size = 0x%x\nstart = 0x%x, RAM_END = 0x%x\n",rtems_configuration_get_work_space_size(), Configuration.work_space_start, RAM_END ); #endif /* diff --git a/c/src/lib/libbsp/i386/pc386/ChangeLog b/c/src/lib/libbsp/i386/pc386/ChangeLog index c4999b82a3..ce0257c2d2 100644 --- a/c/src/lib/libbsp/i386/pc386/ChangeLog +++ b/c/src/lib/libbsp/i386/pc386/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/i386/pc386/clock/ckinit.c b/c/src/lib/libbsp/i386/pc386/clock/ckinit.c index 5717f6f117..29a746a9d0 100644 --- a/c/src/lib/libbsp/i386/pc386/clock/ckinit.c +++ b/c/src/lib/libbsp/i386/pc386/clock/ckinit.c @@ -141,10 +141,10 @@ static void clockOn(const rtems_irq_connect_data* unused) Clock_driver_ticks = 0; Clock_isrs_per_tick = 1; - if (BSP_Configuration.microseconds_per_tick == 0) + if (rtems_configuration_get_microseconds_per_tick() == 0) microseconds_per_isr = 10000; /* default 10 ms */ else - microseconds_per_isr = BSP_Configuration.microseconds_per_tick; + microseconds_per_isr = rtems_configuration_get_microseconds_per_tick(); while (US_TO_TICK(microseconds_per_isr) > 65535) { Clock_isrs_per_tick *= 10; diff --git a/c/src/lib/libbsp/i386/pc386/include/bsp.h b/c/src/lib/libbsp/i386/pc386/include/bsp.h index bd0f3551e8..026f512c34 100644 --- a/c/src/lib/libbsp/i386/pc386/include/bsp.h +++ b/c/src/lib/libbsp/i386/pc386/include/bsp.h @@ -164,8 +164,6 @@ extern int rtems_dec21140_driver_attach(struct rtems_bsdnet_ifconfig *, int); extern interrupt_gate_descriptor Interrupt_descriptor_table[IDT_SIZE]; extern segment_descriptors Global_descriptor_table [GDT_SIZE]; -extern rtems_configuration_table BSP_Configuration; - /* User provided BSP configuration table. */ extern uint32_t rtemsFreeMemStart; /* Address of start of free memory - should be used when creating new partitions or regions and updated afterwards. */ diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c index 15dce5d31b..cfe8dc0de8 100644 --- a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c @@ -70,13 +70,6 @@ uint32_t rtemsFreeMemStart; /* Address of start of free memory - should be updated after creating new partitions or regions. */ -/* The original BSP configuration table from the application and our copy of it - with some changes. */ - -extern rtems_configuration_table Configuration; - rtems_configuration_table BSP_Configuration; - -char *rtems_progname; /* Program name - from main(). */ /*-------------------------------------------------------------------------+ | External Prototypes @@ -184,8 +177,8 @@ void bsp_start_default( void ) if (rtemsFreeMemStart & (CPU_ALIGNMENT - 1)) /* not aligned => align it */ rtemsFreeMemStart = (rtemsFreeMemStart+CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - BSP_Configuration.work_space_start = (void *)rtemsFreeMemStart; - rtemsFreeMemStart += BSP_Configuration.work_space_size; + Configuration.work_space_start = (void *)rtemsFreeMemStart; + rtemsFreeMemStart += rtems_configuration_get_work_space_size(); /* * Init rtems interrupt management @@ -204,27 +197,13 @@ void bsp_start_default( void ) printk("PCI bus: could not initialize PCI BIOS interface\n"); } - /* - * The following information is very useful when debugging. - */ #if 0 - printk( "work_space_size = 0x%x\n", BSP_Configuration.work_space_size ); - printk( "maximum_extensions = 0x%x\n", BSP_Configuration.maximum_extensions ); - printk( "microseconds_per_tick = 0x%x\n", - BSP_Configuration.microseconds_per_tick ); - printk( "ticks_per_timeslice = 0x%x\n", - BSP_Configuration.ticks_per_timeslice ); - printk( "number_of_device_drivers = 0x%x\n", - BSP_Configuration.number_of_device_drivers ); - printk( "Device_driver_table = 0x%x\n", - BSP_Configuration.Device_driver_table ); - printk( "_heap_size = 0x%x\n", _heap_size ); printk( "_stack_size = 0x%x\n", _stack_size ); printk( "rtemsFreeMemStart = 0x%x\n", rtemsFreeMemStart ); - printk( "work_space_start = 0x%x\n", BSP_Configuration.work_space_start ); - printk( "work_space_size = 0x%x\n", BSP_Configuration.work_space_size ); + printk( "work_space_start = 0x%x\n", rtems_configuration_get_work_space_start() ); + printk( "work_space_size = 0x%x\n", rtems_configuration_get_work_space_size() ); #endif } /* bsp_start */ diff --git a/c/src/lib/libbsp/i386/ts_386ex/ChangeLog b/c/src/lib/libbsp/i386/ts_386ex/ChangeLog index d6bd76e493..b1cf5887bf 100644 --- a/c/src/lib/libbsp/i386/ts_386ex/ChangeLog +++ b/c/src/lib/libbsp/i386/ts_386ex/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c b/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c index c501b4a6c7..74c04bc9db 100644 --- a/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c +++ b/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c @@ -50,7 +50,7 @@ void Clock_isr() Clock_driver_ticks += 1; if ( Clock_isrs == 1 ) { rtems_clock_tick(); - Clock_isrs = Clock_initial_isr_value; /* BSP_Configuration.microseconds_per_tick / 1000;*/ + Clock_isrs = Clock_initial_isr_value; /* rtems_configuration_get_microseconds_per_tick() / 1000;*/ } else Clock_isrs -= 1; @@ -114,7 +114,7 @@ rtems_device_driver Clock_initialize( Clock_isrs = Clock_initial_isr_value = - BSP_Configuration.microseconds_per_tick / 1000; /* ticks per clock_isr */ + rtems_configuration_get_microseconds_per_tick() / 1000; /* ticks per clock_isr */ /* * configure the counter timer ( should be based on microsecs/tick ) @@ -123,7 +123,7 @@ rtems_device_driver Clock_initialize( */ ClockOff ( &clockIrqData ); - timer_counter_init_value = BSP_Configuration.microseconds_per_tick / Clock_isrs; + timer_counter_init_value = rtems_configuration_get_microseconds_per_tick() / Clock_isrs; clock_lsb = (unsigned char)timer_counter_init_value; clock_msb = timer_counter_init_value >> 8; diff --git a/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h b/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h index 870ecc2bfc..8a348f36a2 100644 --- a/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h +++ b/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h @@ -132,8 +132,6 @@ extern void Wait_X_ms (unsigned); /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - #define IDT_SIZE 256 #define GDT_SIZE 3 diff --git a/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c b/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c index 61a192934a..11ebf5038c 100644 --- a/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c @@ -26,14 +26,6 @@ void bsp_clean_up(void); #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; - /* * Tells us where to put the workspace in case remote debugger is present. */ @@ -71,7 +63,7 @@ void bsp_pretasking_hook(void) if (heap_start & (CPU_ALIGNMENT-1)) heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - heap_size = BSP_Configuration.work_space_start -(void *) heap_start ; + heap_size = Configuration.work_space_start -(void *) heap_start ; heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */ bsp_libc_init((void *) heap_start, heap_size, 0); @@ -91,8 +83,8 @@ void bsp_start( void ) { void rtems_irq_mngt_init(); - BSP_Configuration.work_space_start = (void *) - RAM_END - BSP_Configuration.work_space_size; + Configuration.work_space_start = (void *) + RAM_END - rtems_configuration_get_work_space_size(); /* * Init rtems_interrupt_management @@ -111,19 +103,13 @@ void bsp_start( void ) #ifdef BSP_DEBUG printk( "RAM_START = 0x%x\nRAM_END = 0x%x\n", RAM_START, RAM_END ); printk( "work_space_start = 0x%x\n", - BSP_Configuration.work_space_start ); + Configuration.work_space_start ); printk( "work_space_size = 0x%x\n", - BSP_Configuration.work_space_size ); - printk( "maximum_extensions = 0x%x\n", - BSP_Configuration.maximum_extensions ); + rtems_configuration_get_work_space_size() ); printk( "microseconds_per_tick = 0x%x\n", - BSP_Configuration.microseconds_per_tick ); + rtems_configuration_get_microseconds_per_tick() ); printk( "ticks_per_timeslice = 0x%x\n", - BSP_Configuration.ticks_per_timeslice ); - printk( "number_of_device_drivers = 0x%x\n", - BSP_Configuration.number_of_device_drivers ); - printk( "Device_driver_table = 0x%x\n", - BSP_Configuration.Device_driver_table ); + rtems_configuration_get_ticks_per_timeslice() ); /* printk( "_heap_size = 0x%x\n", _heap_size ); printk( "_stack_size = 0x%x\n", _stack_size ); */ diff --git a/c/src/lib/libbsp/m68k/gen68340/ChangeLog b/c/src/lib/libbsp/m68k/gen68340/ChangeLog index f749815873..1db7869f09 100644 --- a/c/src/lib/libbsp/m68k/gen68340/ChangeLog +++ b/c/src/lib/libbsp/m68k/gen68340/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/gen68340/clock/ckinit.c b/c/src/lib/libbsp/m68k/gen68340/clock/ckinit.c index 3078046cf5..3c1bb27297 100644 --- a/c/src/lib/libbsp/m68k/gen68340/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/gen68340/clock/ckinit.c @@ -108,7 +108,7 @@ Install_clock (rtems_isr_entry clock_isr) /* sets the PITR count value */ /* this assumes a 32.765 kHz crystal */ - usecs_per_tick = BSP_Configuration.microseconds_per_tick; + usecs_per_tick = rtems_configuration_get_microseconds_per_tick(); /* find out whether prescaler should be enabled or not */ if ( usecs_per_tick <= 31128 ) { pitr_tmp = ( usecs_per_tick * 8192 ) / 1000000 ; diff --git a/c/src/lib/libbsp/m68k/gen68340/include/bsp.h b/c/src/lib/libbsp/m68k/gen68340/include/bsp.h index 15afbfa4b3..3f1106806c 100644 --- a/c/src/lib/libbsp/m68k/gen68340/include/bsp.h +++ b/c/src/lib/libbsp/m68k/gen68340/include/bsp.h @@ -63,16 +63,8 @@ extern "C" { * NOTE: Use the standard Clock driver entry */ -/* - * How many libio files we want - */ - -#define BSP_LIBIO_MAX_FDS 20 - /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ /* functions */ diff --git a/c/src/lib/libbsp/m68k/gen68340/startup/bspstart.c b/c/src/lib/libbsp/m68k/gen68340/startup/bspstart.c index 4bb4ed4a7a..1b001cdc10 100644 --- a/c/src/lib/libbsp/m68k/gen68340/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/gen68340/startup/bspstart.c @@ -25,16 +25,6 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; - -char *rtems_progname; - /* Initialize whatever libc we are using * called from postdriver hook */ @@ -71,5 +61,5 @@ void bsp_start( void ) * not malloc'ed. It is just "pulled from the air". */ - BSP_Configuration.work_space_start = (void *)&_WorkspaceBase; + Configuration.work_space_start = (void *)&_WorkspaceBase; } diff --git a/c/src/lib/libbsp/m68k/idp/ChangeLog b/c/src/lib/libbsp/m68k/idp/ChangeLog index 8e13047923..37ea65c3b2 100644 --- a/c/src/lib/libbsp/m68k/idp/ChangeLog +++ b/c/src/lib/libbsp/m68k/idp/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/idp/clock/ckinit.c b/c/src/lib/libbsp/m68k/idp/clock/ckinit.c index bf3f4df2d6..603a382edf 100644 --- a/c/src/lib/libbsp/m68k/idp/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/idp/clock/ckinit.c @@ -77,7 +77,7 @@ rtems_isr Clock_isr( libgcc.a for gcc with software floating point support, this is not a problem */ Clock_isrs = - (int)(BSP_Configuration.microseconds_per_tick / 1000); + (int)(rtems_configuration_get_microseconds_per_tick() / 1000); } else Clock_isrs -= 1; diff --git a/c/src/lib/libbsp/m68k/idp/include/bsp.h b/c/src/lib/libbsp/m68k/idp/include/bsp.h index 6b0917f6d8..abfa84b4b2 100644 --- a/c/src/lib/libbsp/m68k/idp/include/bsp.h +++ b/c/src/lib/libbsp/m68k/idp/include/bsp.h @@ -45,8 +45,6 @@ /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ /* functions */ diff --git a/c/src/lib/libbsp/m68k/idp/startup/bspstart.c b/c/src/lib/libbsp/m68k/idp/startup/bspstart.c index c3d9431856..558e4aec56 100644 --- a/c/src/lib/libbsp/m68k/idp/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/idp/startup/bspstart.c @@ -27,16 +27,6 @@ extern struct duart_regs duart_info; void led_putnum(); -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; - -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -89,7 +79,7 @@ void bsp_start( void ) rtems_cache_enable_instruction(); rtems_cache_enable_data(); - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; + Configuration.work_space_start = (void *) &_WorkspaceBase; /* led_putnum('e'); * for debugging purposes only */ diff --git a/c/src/lib/libbsp/m68k/mrm332/ChangeLog b/c/src/lib/libbsp/m68k/mrm332/ChangeLog index bc76a38ab4..91f3da6065 100644 --- a/c/src/lib/libbsp/m68k/mrm332/ChangeLog +++ b/c/src/lib/libbsp/m68k/mrm332/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/mrm332/clock/ckinit.c b/c/src/lib/libbsp/m68k/mrm332/clock/ckinit.c index 6b43a81917..b60b721df6 100644 --- a/c/src/lib/libbsp/m68k/mrm332/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/mrm332/clock/ckinit.c @@ -44,7 +44,7 @@ rtems_isr Clock_isr(rtems_vector_number vector) if ( Clock_isrs == 1 ) { rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; } else Clock_isrs -= 1; @@ -55,7 +55,7 @@ void Install_clock( ) { Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 ); diff --git a/c/src/lib/libbsp/m68k/mrm332/include/bsp.h b/c/src/lib/libbsp/m68k/mrm332/include/bsp.h index 0ac7b2dc0f..8b5649d143 100644 --- a/c/src/lib/libbsp/m68k/mrm332/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mrm332/include/bsp.h @@ -91,12 +91,9 @@ extern char _copy_data_from_rom[]; /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ extern int stack_size; - extern int stack_start; /* diff --git a/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c b/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c index b98009bd63..bdd2f49ac2 100644 --- a/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mrm332/startup/bspstart.c @@ -19,15 +19,6 @@ #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -65,5 +56,5 @@ void bsp_start( void ) m68k_get_vbr( vbr ); - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; + Configuration.work_space_start = (void *) &_WorkspaceBase; } diff --git a/c/src/lib/libbsp/m68k/mvme136/ChangeLog b/c/src/lib/libbsp/m68k/mvme136/ChangeLog index 2d7e6784ea..e5e65b2469 100644 --- a/c/src/lib/libbsp/m68k/mvme136/ChangeLog +++ b/c/src/lib/libbsp/m68k/mvme136/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/mvme136/clock/ckinit.c b/c/src/lib/libbsp/m68k/mvme136/clock/ckinit.c index 2695054222..bea1edec35 100644 --- a/c/src/lib/libbsp/m68k/mvme136/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/mvme136/clock/ckinit.c @@ -66,7 +66,7 @@ rtems_isr Clock_isr( if ( Clock_isrs == 1 ) { rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; } else Clock_isrs -= 1; @@ -79,7 +79,7 @@ void Install_clock( volatile struct z8036_map *timer; Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 ); timer = (struct z8036_map *) 0xfffb0000; diff --git a/c/src/lib/libbsp/m68k/mvme136/include/bsp.h b/c/src/lib/libbsp/m68k/mvme136/include/bsp.h index efa813d8c6..7da6ab578b 100644 --- a/c/src/lib/libbsp/m68k/mvme136/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mvme136/include/bsp.h @@ -90,8 +90,6 @@ struct w_m681_info { /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - /* M68681 DUART chip register variables */ EXTERN volatile struct r_m681_info *_Read_m681; /* M68681 read registers */ diff --git a/c/src/lib/libbsp/m68k/mvme136/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme136/startup/bspstart.c index 60878303d3..2b4c28fa38 100644 --- a/c/src/lib/libbsp/m68k/mvme136/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mvme136/startup/bspstart.c @@ -21,15 +21,6 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -71,5 +62,5 @@ void bsp_start( void ) rtems_cache_enable_instruction(); - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; + Configuration.work_space_start = (void *) &_WorkspaceBase; } diff --git a/c/src/lib/libbsp/m68k/mvme147/ChangeLog b/c/src/lib/libbsp/m68k/mvme147/ChangeLog index f51b882e7a..81daf80921 100644 --- a/c/src/lib/libbsp/m68k/mvme147/ChangeLog +++ b/c/src/lib/libbsp/m68k/mvme147/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c b/c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c index 6681819045..1e009829c1 100644 --- a/c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c @@ -54,7 +54,7 @@ rtems_isr Clock_isr(rtems_vector_number vector) if (Clock_isrs == 1) { rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; } else Clock_isrs -= 1; @@ -64,7 +64,7 @@ void Install_clock(rtems_isr_entry clock_isr ) { Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; Old_ticker = (rtems_isr_entry) set_vector( clock_isr, TIMER_2_VECTOR, 1 ); diff --git a/c/src/lib/libbsp/m68k/mvme147/include/bsp.h b/c/src/lib/libbsp/m68k/mvme147/include/bsp.h index ce1fd8f410..f085425080 100644 --- a/c/src/lib/libbsp/m68k/mvme147/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mvme147/include/bsp.h @@ -116,8 +116,6 @@ struct pcc_map { /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ /* diff --git a/c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c index 0606257937..b62655d1c1 100644 --- a/c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c @@ -24,15 +24,6 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -79,5 +70,5 @@ void bsp_start( void ) rtems_cache_enable_instruction(); rtems_cache_enable_data(); - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; + Configuration.work_space_start = (void *) &_WorkspaceBase; } diff --git a/c/src/lib/libbsp/m68k/mvme162/ChangeLog b/c/src/lib/libbsp/m68k/mvme162/ChangeLog index fa2dd8c312..a23c43b7d2 100644 --- a/c/src/lib/libbsp/m68k/mvme162/ChangeLog +++ b/c/src/lib/libbsp/m68k/mvme162/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c b/c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c index b4d7b0854a..dcf5164825 100644 --- a/c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c @@ -58,7 +58,7 @@ rtems_isr Clock_isr(rtems_vector_number vector) if ( Clock_isrs == 1 ) { rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; } else Clock_isrs -= 1; @@ -68,7 +68,7 @@ void Install_clock(rtems_isr_entry clock_isr ) { Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 ); lcsr->vector_base |= MASK_INT; /* unmask VMEchip2 interrupts */ diff --git a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h index ce808b6b1b..45c079f77f 100644 --- a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h @@ -177,8 +177,6 @@ typedef volatile struct { /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ /* functions */ diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c index 2ca2c25541..f5abd7d77f 100644 --- a/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c @@ -28,15 +28,6 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -95,5 +86,5 @@ void bsp_start( void ) page_table_init(); - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; + Configuration.work_space_start = (void *) &_WorkspaceBase; } diff --git a/c/src/lib/libbsp/m68k/mvme167/ChangeLog b/c/src/lib/libbsp/m68k/mvme167/ChangeLog index 3b7726d08c..76ef1b2944 100644 --- a/c/src/lib/libbsp/m68k/mvme167/ChangeLog +++ b/c/src/lib/libbsp/m68k/mvme167/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/mvme167/clock/ckinit.c b/c/src/lib/libbsp/m68k/mvme167/clock/ckinit.c index a4c28bce50..0be6e1fffd 100644 --- a/c/src/lib/libbsp/m68k/mvme167/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/mvme167/clock/ckinit.c @@ -101,7 +101,7 @@ rtems_isr VMEchip2_T2_isr( long i; long ct; /* Number of T2 ticks per RTEMS ticks */ - ct = BSP_Configuration.microseconds_per_tick / 1000; + ct = rtems_configuration_get_microseconds_per_tick() / 1000; /* * May have missed interrupts, so should look at the overflow counter. @@ -149,7 +149,7 @@ rtems_isr VMEchip2_T2_isr( void VMEchip2_T2_initialize( void ) { Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; lcsr->intr_ena &= 0xFDFFFFFF; /* Disable tick timer 2 interrupt */ lcsr->intr_clear = 0x02000000; /* Clear tick timer 2 interrupt */ diff --git a/c/src/lib/libbsp/m68k/mvme167/include/bsp.h b/c/src/lib/libbsp/m68k/mvme167/include/bsp.h index 6e775ca2da..3732151617 100644 --- a/c/src/lib/libbsp/m68k/mvme167/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mvme167/include/bsp.h @@ -332,16 +332,8 @@ m68k_isr_entry set_vector( * NOTE: Use the standard Clock driver entry */ -/* - * How many libio files we want - */ - -#define BSP_LIBIO_MAX_FDS 20 - /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ #ifdef __cplusplus diff --git a/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c index fa2034e4cf..260770bd1d 100644 --- a/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c @@ -26,15 +26,9 @@ #include #include -/* - * The original table from the application (in ROM) and our copy of it with - * some changes. Configuration is defined in . Make sure that - * our configuration tables are uninitialized so that they get allocated in - * the .bss section (RAM). - */ -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; +/* XXX If RTEMS let the BSP replace the default fatal error handler... */ rtems_extensions_table user_extension_table; + /* * Use the shared implementations of the following routines. * Look in rtems/c/src/lib/libbsp/shared/bsppost.c and @@ -127,9 +121,9 @@ void bsp_start( void ) * supply one with our own fatal error handler that returns control to * 167Bug. */ - if ( BSP_Configuration.User_extension_table == NULL ) { + if ( Configuration.User_extension_table == NULL ) { user_extension_table.fatal = bsp_fatal_error_occurred; - BSP_Configuration.User_extension_table = &user_extension_table; + Configuration.User_extension_table = &user_extension_table; } /* @@ -137,5 +131,5 @@ void bsp_start( void ) * tell the RTEMS configuration where it is. This memory is * not malloc'ed. It is just "pulled from the air". */ - BSP_Configuration.work_space_start = (void *)&_WorkspaceBase; + Configuration.work_space_start = (void *)&_WorkspaceBase; } diff --git a/c/src/lib/libbsp/m68k/ods68302/ChangeLog b/c/src/lib/libbsp/m68k/ods68302/ChangeLog index e7b0f50c28..91b70e19b4 100644 --- a/c/src/lib/libbsp/m68k/ods68302/ChangeLog +++ b/c/src/lib/libbsp/m68k/ods68302/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c b/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c index eff3b5580f..e181297d87 100644 --- a/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c @@ -73,7 +73,7 @@ rtems_isr Clock_isr( if ( Clock_isrs == 1 ) { rtems_clock_tick(); - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; } else Clock_isrs -= 1; @@ -85,7 +85,7 @@ void Install_clock( { Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; set_vector( clock_isr, CLOCK_VECTOR, 1 ); diff --git a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h index 571e4b3834..c699c926e1 100644 --- a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h +++ b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h @@ -83,8 +83,6 @@ extern "C" { /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; - extern m68k_isr_entry M68Kvec[]; /* vector table address */ /* functions */ diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c b/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c index e2548547af..89bea8d3d7 100644 --- a/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c @@ -20,16 +20,6 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -rtems_interrupt_level bsp_isr_level; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -58,5 +48,5 @@ void bsp_start( void ) * not malloc'ed. It is just "pulled from the air". */ - BSP_Configuration.work_space_start = (void *) &_WorkspaceBase; + Configuration.work_space_start = (void *) &_WorkspaceBase; } diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/ChangeLog b/c/src/lib/libbsp/no_cpu/no_bsp/ChangeLog index 5d6837a7d3..dcf43232dc 100644 --- a/c/src/lib/libbsp/no_cpu/no_bsp/ChangeLog +++ b/c/src/lib/libbsp/no_cpu/no_bsp/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/clock/ckinit.c b/c/src/lib/libbsp/no_cpu/no_bsp/clock/ckinit.c index 640710baa6..240ab5ebe1 100644 --- a/c/src/lib/libbsp/no_cpu/no_bsp/clock/ckinit.c +++ b/c/src/lib/libbsp/no_cpu/no_bsp/clock/ckinit.c @@ -94,7 +94,7 @@ void Install_clock( */ Clock_driver_ticks = 0; - Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000; + Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000; Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 ); /* diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h b/c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h index 9071c2e6fd..8831c5557a 100644 --- a/c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h +++ b/c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h @@ -41,10 +41,6 @@ extern "C" { #define RAM_START 0 #define RAM_END 0x100000 -/* miscellaneous stuff assumed to exist */ - -extern rtems_configuration_table BSP_Configuration; - /* * Device Driver Table Entries */ diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/startup/bspstart.c b/c/src/lib/libbsp/no_cpu/no_bsp/startup/bspstart.c index 4c37dd5286..f66875a82f 100644 --- a/c/src/lib/libbsp/no_cpu/no_bsp/startup/bspstart.c +++ b/c/src/lib/libbsp/no_cpu/no_bsp/startup/bspstart.c @@ -20,15 +20,6 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -88,5 +79,5 @@ void bsp_start( void ) * not malloc'ed. It is just "pulled from the air". */ - BSP_Configuration.work_space_start = (void *) 0; + Configuration.work_space_start = (void *) 0; } diff --git a/c/src/lib/libbsp/sh/simsh4/ChangeLog b/c/src/lib/libbsp/sh/simsh4/ChangeLog index e084a2ada7..cc0de4cedb 100644 --- a/c/src/lib/libbsp/sh/simsh4/ChangeLog +++ b/c/src/lib/libbsp/sh/simsh4/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field diff --git a/c/src/lib/libbsp/sh/simsh4/clock/ckinit.c b/c/src/lib/libbsp/sh/simsh4/clock/ckinit.c index 69d22948df..4246e176a1 100644 --- a/c/src/lib/libbsp/sh/simsh4/clock/ckinit.c +++ b/c/src/lib/libbsp/sh/simsh4/clock/ckinit.c @@ -77,7 +77,7 @@ Clock_isr (rtems_vector_number vector) void Clock_exit(void) { - if (BSP_Configuration.ticks_per_timeslice) + if (rtems_configuration_get_ticks_per_timeslice()) { /* disable all timer1 interrupts */ set_clock_period(0); @@ -100,9 +100,9 @@ Install_clock(rtems_isr_entry clock_isr) uint32_t period; Clock_driver_ticks = 0; - if (BSP_Configuration.ticks_per_timeslice) { + if (rtems_configuration_get_ticks_per_timeslice()) { rtems_isr_entry old_isr; - period = bsp_clicks_per_second / BSP_Configuration.ticks_per_timeslice; + period = bsp_clicks_per_second / rtems_configuration_get_ticks_per_timeslice(); /* Configure timer interrupts */ set_clock_period(period); diff --git a/c/src/lib/libbsp/sh/simsh4/include/bsp.h b/c/src/lib/libbsp/sh/simsh4/include/bsp.h index 9b72c24710..4e3081ad21 100644 --- a/c/src/lib/libbsp/sh/simsh4/include/bsp.h +++ b/c/src/lib/libbsp/sh/simsh4/include/bsp.h @@ -87,7 +87,6 @@ extern void *CPU_Interrupt_stack_high ; /* miscellaneous stuff assumed to exist */ -extern rtems_configuration_table BSP_Configuration; extern void bsp_cleanup( void ); /* diff --git a/c/src/lib/libbsp/sh/simsh4/startup/bspstart.c b/c/src/lib/libbsp/sh/simsh4/startup/bspstart.c index 3d86bcd6b4..bcd6c6e616 100644 --- a/c/src/lib/libbsp/sh/simsh4/startup/bspstart.c +++ b/c/src/lib/libbsp/sh/simsh4/startup/bspstart.c @@ -36,17 +36,8 @@ */ uint32_t bsp_clicks_per_second; -/* - * The original table from the application and our copy of it with - * some changes. - */ - extern void bsp_hw_init(void); -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; -char *rtems_progname; - /* * Use the shared implementations of the following routines */ @@ -111,8 +102,8 @@ void bsp_start(void) * not malloc'ed. It is just "pulled from the air". */ - BSP_Configuration.work_space_start = (void *) &WorkSpaceStart ; - BSP_Configuration.work_space_size = + Configuration.work_space_start = (void *) &WorkSpaceStart ; + rtems_configuration_get_work_space_size() = (uint32_t) &WorkSpaceEnd - (uint32_t) &WorkSpaceStart ; diff --git a/c/src/lib/libbsp/sparc/leon3/ChangeLog b/c/src/lib/libbsp/sparc/leon3/ChangeLog index 9f4a4cc917..13709ed7a1 100644 --- a/c/src/lib/libbsp/sparc/leon3/ChangeLog +++ b/c/src/lib/libbsp/sparc/leon3/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies + of the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-12-04 Joel Sherrill * amba/amba.c, clock/ckinit.c, console/console.c, include/bsp.h, diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c index 172aec5f09..bde71411f6 100644 --- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c +++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c @@ -31,8 +31,6 @@ * The Real Time Clock Counter Timer uses this trap type. */ -extern rtems_configuration_table Configuration; - #if defined(RTEMS_MULTIPROCESSING) #define LEON3_CLOCK_INDEX \ (rtems_configuration_get_user_multiprocessing_table() ? LEON3_Cpu_Index : 0) @@ -83,7 +81,7 @@ static int clkirq; #define Clock_driver_support_initialize_hardware() \ do { \ LEON3_Timer_Regs->timer[LEON3_CLOCK_INDEX].reload = \ - BSP_Configuration.microseconds_per_tick - 1; \ + rtems_configuration_get_microseconds_per_tick() - 1; \ \ LEON3_Timer_Regs->timer[LEON3_CLOCK_INDEX].conf = \ LEON3_GPTIMER_EN | LEON3_GPTIMER_RL | \ diff --git a/c/src/lib/libbsp/sparc/leon3/include/bsp.h b/c/src/lib/libbsp/sparc/leon3/include/bsp.h index e72f5ffcbc..2764f2d892 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/bsp.h +++ b/c/src/lib/libbsp/sparc/leon3/include/bsp.h @@ -119,8 +119,6 @@ void BSP_fatal_return( void ); void bsp_spurious_initialize( void ); -extern rtems_configuration_table BSP_Configuration; /* owned by BSP */ - #ifdef __cplusplus } #endif diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c index a766acf225..ee3c62bd3a 100644 --- a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c +++ b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c @@ -26,24 +26,14 @@ #include #include -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; - /* * Tells us where to put the workspace in case remote debugger is present. */ - extern uint32_t rdb_start; /* * Tells us if data cache snooping is available */ - int CPU_SPARC_HAS_SNOOPING; void bsp_postdriver_hook(void); @@ -86,7 +76,7 @@ void bsp_pretasking_hook(void) if (heap_start & (CPU_ALIGNMENT-1)) heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - heap_size = BSP_Configuration.work_space_start - (void *)&end - STACK_SIZE; + heap_size = Configuration.work_space_start - (void *)&end - STACK_SIZE; heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */ bsp_libc_init((void *) heap_start, heap_size, 0); @@ -111,14 +101,14 @@ void bsp_start( void ) unsigned char *work_space_start; work_space_start = - (unsigned char *)rdb_start - BSP_Configuration.work_space_size; + (unsigned char *)rdb_start - rtems_configuration_get_work_space_size(); if ( work_space_start <= (unsigned char *)&end ) { printk( "bspstart: Not enough RAM!!!\n" ); BSP_fatal_return(); } - BSP_Configuration.work_space_start = work_space_start; + Configuration.work_space_start = work_space_start; CPU_SPARC_HAS_SNOOPING = set_snooping(); } -- cgit v1.2.3