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/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 ++++++----------------- 4 files changed, 16 insertions(+), 26 deletions(-) (limited to 'c/src/lib/libbsp/i386/ts_386ex') 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 ); */ -- cgit v1.2.3