mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-10 17:43:21 +00:00
committing for rtems-3.2.01 snapshot
This commit is contained in:
@@ -36,7 +36,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <cpu.h>
|
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
|
|
||||||
void init_rtc( void )
|
void init_rtc( void )
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
#include <pc.h>
|
#include <pc.h>
|
||||||
#include <go32.h>
|
#include <go32.h>
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
#include <cpu.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ports for PC keyboard
|
* Ports for PC keyboard
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
#include <go32.h>
|
#include <go32.h>
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
#include <cpu.h>
|
|
||||||
|
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <cpu.h>
|
|
||||||
#include <iosupp.h>
|
#include <iosupp.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -142,7 +141,7 @@ BSP_EXTERN unsigned int Gdt_base;
|
|||||||
|
|
||||||
/* routines */
|
/* routines */
|
||||||
|
|
||||||
i386_isr set_vector(
|
i386_isr_entry set_vector(
|
||||||
rtems_isr_entry handler,
|
rtems_isr_entry handler,
|
||||||
rtems_vector_number vector,
|
rtems_vector_number vector,
|
||||||
int type
|
int type
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
#include <cpu.h>
|
|
||||||
#include <libcsupport.h>
|
#include <libcsupport.h>
|
||||||
|
|
||||||
#include <stackchk.h>
|
#include <stackchk.h>
|
||||||
|
|||||||
@@ -28,13 +28,13 @@
|
|||||||
#include <dpmi.h>
|
#include <dpmi.h>
|
||||||
#include <go32.h>
|
#include <go32.h>
|
||||||
|
|
||||||
i386_isr set_vector( /* returns old vector */
|
i386_isr_entry set_vector( /* returns old vector */
|
||||||
rtems_isr_entry handler, /* isr routine */
|
rtems_isr_entry handler, /* isr routine */
|
||||||
rtems_vector_number vector, /* vector number */
|
rtems_vector_number vector, /* vector number */
|
||||||
int type /* RTEMS or RAW intr */
|
int type /* RTEMS or RAW intr */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
i386_isr previous_isr;
|
i386_isr_entry previous_isr;
|
||||||
|
|
||||||
if ( type ) {
|
if ( type ) {
|
||||||
rtems_interrupt_catch( handler, vector,
|
rtems_interrupt_catch( handler, vector,
|
||||||
@@ -55,10 +55,10 @@ i386_isr set_vector( /* returns old vector */
|
|||||||
/* structure here? That means we might crash the system if we */
|
/* structure here? That means we might crash the system if we */
|
||||||
/* try to restore the ISR. Can't fix this until i386_isr is */
|
/* try to restore the ISR. Can't fix this until i386_isr is */
|
||||||
/* redefined. XXX [BHC]. */
|
/* redefined. XXX [BHC]. */
|
||||||
previous_isr = (i386_isr) handler_info.pm_offset;
|
previous_isr = (i386_isr_entry) handler_info.pm_offset;
|
||||||
|
|
||||||
/* install the IDT entry */
|
/* install the IDT entry */
|
||||||
handler_info.pm_offset = (int)handler;
|
handler_info.pm_offset = (u_long)handler;
|
||||||
handler_info.pm_selector = _go32_my_cs();
|
handler_info.pm_selector = _go32_my_cs();
|
||||||
_go32_dpmi_set_protected_mode_interrupt_vector( vector, &handler_info);
|
_go32_dpmi_set_protected_mode_interrupt_vector( vector, &handler_info);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include <cpu.h>
|
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
|
|
||||||
volatile rtems_unsigned32 Ttimer_val;
|
volatile rtems_unsigned32 Ttimer_val;
|
||||||
@@ -47,27 +46,27 @@ void Timer_initialize()
|
|||||||
#else /* pentium */
|
#else /* pentium */
|
||||||
static int First = 1;
|
static int First = 1;
|
||||||
if ( First ) {
|
if ( First ) {
|
||||||
/* install ISR */
|
/* install ISR */
|
||||||
set_vector( timerisr, 0x8, 0 );
|
set_vector( timerisr, 0x8, 0 );
|
||||||
|
|
||||||
/* Wait for ISR to be called at least once */
|
/* Wait for ISR to be called at least once */
|
||||||
Ttimer_val = 0;
|
Ttimer_val = 0;
|
||||||
while ( Ttimer_val == 0 )
|
while ( Ttimer_val == 0 )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* load timer for 250 microsecond period */
|
/* load timer for 250 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(250) >> 0 & 0xff);
|
||||||
outport_byte( TIMER_CNTR0, US_TO_TICK(250) >> 8 & 0xff);
|
outport_byte( TIMER_CNTR0, US_TO_TICK(250) >> 8 & 0xff);
|
||||||
|
|
||||||
First = 0;
|
First = 0;
|
||||||
}
|
}
|
||||||
Ttimer_val = 0; /* clear timer ISR count */
|
Ttimer_val = 0; /* clear timer ISR count */
|
||||||
#endif /* PENTIUM */
|
#endif /* PENTIUM */
|
||||||
}
|
}
|
||||||
|
|
||||||
#define AVG_OVERHEAD 0 /* 0.1 microseconds to start/stop timer. */
|
#define AVG_OVERHEAD 0 /* 0.1 microseconds to start/stop timer. */
|
||||||
#define LEAST_VALID 1 /* Don't trust a value lower than this */
|
#define LEAST_VALID 1 /* Don't trust a value lower than this */
|
||||||
|
|
||||||
|
|
||||||
int Read_timer()
|
int Read_timer()
|
||||||
@@ -86,11 +85,11 @@ int Read_timer()
|
|||||||
#endif /* pentium */
|
#endif /* pentium */
|
||||||
|
|
||||||
if ( Timer_driver_Find_average_overhead == 1 )
|
if ( Timer_driver_Find_average_overhead == 1 )
|
||||||
return total;
|
return total;
|
||||||
else if ( total < LEAST_VALID )
|
else if ( total < LEAST_VALID )
|
||||||
return 0; /* below timer resolution */
|
return 0; /* below timer resolution */
|
||||||
else
|
else
|
||||||
return total - AVG_OVERHEAD;
|
return total - AVG_OVERHEAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtems_status_code Empty_function( void )
|
rtems_status_code Empty_function( void )
|
||||||
|
|||||||
@@ -24,7 +24,9 @@
|
|||||||
|
|
||||||
EXTERN(_Ttimer_val)
|
EXTERN(_Ttimer_val)
|
||||||
|
|
||||||
SYM (_timerisr):
|
PUBLIC(timerisr)
|
||||||
|
|
||||||
|
SYM (timerisr):
|
||||||
addl $250,_Ttimer_val # another 250 microseconds
|
addl $250,_Ttimer_val # another 250 microseconds
|
||||||
push edx
|
push edx
|
||||||
push eax
|
push eax
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ rtems_task Low_task(
|
|||||||
end_time = Read_timer();
|
end_time = Read_timer();
|
||||||
|
|
||||||
put_time(
|
put_time(
|
||||||
"rtems_task_resume self",
|
"rtems_task_suspend self",
|
||||||
end_time,
|
end_time,
|
||||||
OPERATION_COUNT,
|
OPERATION_COUNT,
|
||||||
0,
|
0,
|
||||||
|
|||||||
@@ -156,8 +156,8 @@ void check_read_timer()
|
|||||||
* Under UNIX a simple process swap takes longer than we
|
* Under UNIX a simple process swap takes longer than we
|
||||||
* consider valid for our testing purposes.
|
* consider valid for our testing purposes.
|
||||||
*/
|
*/
|
||||||
printf( "TOO LONG (%d) at %d!!!\n", end_time, index );
|
printf( "TOO LONG (%d) at index %d!!!\n", end_time, index );
|
||||||
#if defined(unix)
|
#if defined(unix) || defined(go32)
|
||||||
index--;
|
index--;
|
||||||
continue;
|
continue;
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ rtems_task Low_task(
|
|||||||
end_time = Read_timer();
|
end_time = Read_timer();
|
||||||
|
|
||||||
put_time(
|
put_time(
|
||||||
"rtems_task_resume self",
|
"rtems_task_suspend self",
|
||||||
end_time,
|
end_time,
|
||||||
OPERATION_COUNT,
|
OPERATION_COUNT,
|
||||||
0,
|
0,
|
||||||
|
|||||||
@@ -156,8 +156,8 @@ void check_read_timer()
|
|||||||
* Under UNIX a simple process swap takes longer than we
|
* Under UNIX a simple process swap takes longer than we
|
||||||
* consider valid for our testing purposes.
|
* consider valid for our testing purposes.
|
||||||
*/
|
*/
|
||||||
printf( "TOO LONG (%d) at %d!!!\n", end_time, index );
|
printf( "TOO LONG (%d) at index %d!!!\n", end_time, index );
|
||||||
#if defined(unix)
|
#if defined(unix) || defined(go32)
|
||||||
index--;
|
index--;
|
||||||
continue;
|
continue;
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user