forked from Imagelibrary/rtems
after testing go32 and cvme961
This commit is contained in:
@@ -42,7 +42,7 @@ const rtems_multiprocessing_table
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const char _RTEMS_version[] =
|
const char _RTEMS_version[] =
|
||||||
"RTEMS RELEASE V3.2.01 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
|
"RTEMS RELEASE V3.2.02 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ const rtems_multiprocessing_table
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const char _RTEMS_version[] =
|
const char _RTEMS_version[] =
|
||||||
"RTEMS RELEASE V3.2.01 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
|
"RTEMS RELEASE V3.2.02 (" CPU_NAME "/" RTEMS_MODEL_NAME ")";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -86,7 +86,14 @@ void _CPU_ISR_install_raw_handler(
|
|||||||
#if __GO32__
|
#if __GO32__
|
||||||
_go32_dpmi_seginfo handler_info;
|
_go32_dpmi_seginfo handler_info;
|
||||||
|
|
||||||
*old_handler = 0; /* XXX not supported */
|
/* get the address of the old handler */
|
||||||
|
_go32_dpmi_get_protected_mode_interrupt_vector( vector, &handler_info);
|
||||||
|
|
||||||
|
/* Notice how we're failing to save the pm_segment portion of the */
|
||||||
|
/* structure here? That means we might crash the system if we */
|
||||||
|
/* try to restore the ISR. Can't fix this until i386_isr is */
|
||||||
|
/* redefined. XXX [BHC]. */
|
||||||
|
*old_handler = (proc_ptr *) handler_info.pm_offset;
|
||||||
|
|
||||||
handler_info.pm_offset = (u_long) new_handler;
|
handler_info.pm_offset = (u_long) new_handler;
|
||||||
handler_info.pm_selector = _go32_my_cs();
|
handler_info.pm_selector = _go32_my_cs();
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ static void restore_timer( void )
|
|||||||
}
|
}
|
||||||
#else /* pentium */
|
#else /* pentium */
|
||||||
rtems_isr timerisr();
|
rtems_isr timerisr();
|
||||||
|
|
||||||
|
#define TIMER_ISR_US 10000
|
||||||
|
|
||||||
#endif /* pentium */
|
#endif /* pentium */
|
||||||
|
|
||||||
void Timer_initialize()
|
void Timer_initialize()
|
||||||
@@ -74,10 +77,10 @@ void Timer_initialize()
|
|||||||
/* Wait for ISR to be called at least once */
|
/* Wait for ISR to be called at least once */
|
||||||
WAIT();
|
WAIT();
|
||||||
|
|
||||||
/* load timer for 250 microsecond period */
|
/* load timer for TIMER_ISR_US microsecond period */
|
||||||
outport_byte( TIMER_MODE, TIMER_SEL0|TIMER_16BIT|TIMER_RATEGEN );
|
outport_byte( TIMER_MODE, TIMER_SEL0|TIMER_16BIT|TIMER_RATEGEN );
|
||||||
outport_byte( TIMER_CNTR0, US_TO_TICK(250) >> 0 & 0xff);
|
outport_byte( TIMER_CNTR0, US_TO_TICK(TIMER_ISR_US) >> 0 & 0xff);
|
||||||
outport_byte( TIMER_CNTR0, US_TO_TICK(250) >> 8 & 0xff);
|
outport_byte( TIMER_CNTR0, US_TO_TICK(TIMER_ISR_US) >> 8 & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Wait for ISR to be called at least once */
|
/* Wait for ISR to be called at least once */
|
||||||
@@ -101,7 +104,7 @@ int Read_timer()
|
|||||||
inport_byte( TIMER_CNTR0, lsb );
|
inport_byte( TIMER_CNTR0, lsb );
|
||||||
inport_byte( TIMER_CNTR0, msb );
|
inport_byte( TIMER_CNTR0, msb );
|
||||||
clicks = msb << 8 | lsb;
|
clicks = msb << 8 | lsb;
|
||||||
total = Ttimer_val + (250 - TICK_TO_US( clicks ));
|
total = (Ttimer_val * TIMER_ISR_US) + (TIMER_ISR_US - TICK_TO_US( clicks ));
|
||||||
#endif /* pentium */
|
#endif /* pentium */
|
||||||
|
|
||||||
if ( Timer_driver_Find_average_overhead == 1 )
|
if ( Timer_driver_Find_average_overhead == 1 )
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
PUBLIC(timerisr)
|
PUBLIC(timerisr)
|
||||||
|
|
||||||
SYM (timerisr):
|
SYM (timerisr):
|
||||||
addl $250,_Ttimer_val # another 250 microseconds
|
addl $1,_Ttimer_val # another tick
|
||||||
push edx
|
push edx
|
||||||
push eax
|
push eax
|
||||||
movw $0x20,dx
|
movw $0x20,dx
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 1 ],
|
Task_name[ 1 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 1 ]
|
&Task_id[ 1 ]
|
||||||
@@ -56,7 +56,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 2 ],
|
Task_name[ 2 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
RTEMS_DEFAULT_ATTRIBUTES,
|
||||||
&Task_id[ 2 ]
|
&Task_id[ 2 ]
|
||||||
@@ -66,7 +66,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 3 ],
|
Task_name[ 3 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
RTEMS_DEFAULT_ATTRIBUTES,
|
||||||
&Task_id[ 3 ]
|
&Task_id[ 3 ]
|
||||||
@@ -76,7 +76,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 4 ],
|
Task_name[ 4 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 4 ]
|
&Task_id[ 4 ]
|
||||||
@@ -86,7 +86,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 5 ],
|
Task_name[ 5 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 5 ]
|
&Task_id[ 5 ]
|
||||||
@@ -96,7 +96,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 6 ],
|
Task_name[ 6 ],
|
||||||
1,
|
1,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 6 ]
|
&Task_id[ 6 ]
|
||||||
|
|||||||
@@ -86,7 +86,14 @@ void _CPU_ISR_install_raw_handler(
|
|||||||
#if __GO32__
|
#if __GO32__
|
||||||
_go32_dpmi_seginfo handler_info;
|
_go32_dpmi_seginfo handler_info;
|
||||||
|
|
||||||
*old_handler = 0; /* XXX not supported */
|
/* get the address of the old handler */
|
||||||
|
_go32_dpmi_get_protected_mode_interrupt_vector( vector, &handler_info);
|
||||||
|
|
||||||
|
/* Notice how we're failing to save the pm_segment portion of the */
|
||||||
|
/* structure here? That means we might crash the system if we */
|
||||||
|
/* try to restore the ISR. Can't fix this until i386_isr is */
|
||||||
|
/* redefined. XXX [BHC]. */
|
||||||
|
*old_handler = (proc_ptr *) handler_info.pm_offset;
|
||||||
|
|
||||||
handler_info.pm_offset = (u_long) new_handler;
|
handler_info.pm_offset = (u_long) new_handler;
|
||||||
handler_info.pm_selector = _go32_my_cs();
|
handler_info.pm_selector = _go32_my_cs();
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 1 ],
|
Task_name[ 1 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 1 ]
|
&Task_id[ 1 ]
|
||||||
@@ -56,7 +56,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 2 ],
|
Task_name[ 2 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
RTEMS_DEFAULT_ATTRIBUTES,
|
||||||
&Task_id[ 2 ]
|
&Task_id[ 2 ]
|
||||||
@@ -66,7 +66,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 3 ],
|
Task_name[ 3 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
RTEMS_DEFAULT_ATTRIBUTES,
|
||||||
&Task_id[ 3 ]
|
&Task_id[ 3 ]
|
||||||
@@ -76,7 +76,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 4 ],
|
Task_name[ 4 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 4 ]
|
&Task_id[ 4 ]
|
||||||
@@ -86,7 +86,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 5 ],
|
Task_name[ 5 ],
|
||||||
2,
|
2,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 5 ]
|
&Task_id[ 5 ]
|
||||||
@@ -96,7 +96,7 @@ rtems_task Init(
|
|||||||
status = rtems_task_create(
|
status = rtems_task_create(
|
||||||
Task_name[ 6 ],
|
Task_name[ 6 ],
|
||||||
1,
|
1,
|
||||||
2048,
|
8192,
|
||||||
RTEMS_DEFAULT_MODES,
|
RTEMS_DEFAULT_MODES,
|
||||||
RTEMS_FLOATING_POINT,
|
RTEMS_FLOATING_POINT,
|
||||||
&Task_id[ 6 ]
|
&Task_id[ 6 ]
|
||||||
|
|||||||
Reference in New Issue
Block a user