forked from Imagelibrary/rtems
i386: move idle thread into BSP layer
This commit is contained in:
@@ -148,6 +148,7 @@ include_HEADERS += ../../i386/shared/comm/uart.h
|
||||
# startup
|
||||
libbsp_a_SOURCES += ../../shared/bsppredriverhook.c
|
||||
libbsp_a_SOURCES += startup/bspgetworkarea.c
|
||||
libbsp_a_SOURCES += startup/bspidle.S
|
||||
libbsp_a_SOURCES += startup/bspstart.c
|
||||
libbsp_a_SOURCES += startup/bspcmdline.c
|
||||
libbsp_a_SOURCES += ../../shared/bspclean.c
|
||||
|
||||
@@ -213,6 +213,9 @@ void rtems_irq_mngt_init(void); /* from 'irq_init.c' */
|
||||
} while ( 0 )
|
||||
#endif /* edison */
|
||||
|
||||
void *bsp_idle_thread( uintptr_t ignored );
|
||||
#define BSP_IDLE_TASK_BODY bsp_idle_thread
|
||||
|
||||
void kbd_reset_setup(char *str, int *ints); /* from 'pc_keyb.c' */
|
||||
size_t read_aux(char * buffer, size_t count); /* from 'ps2_mouse.c' */
|
||||
|
||||
|
||||
19
c/src/lib/libbsp/i386/pc386/startup/bspidle.S
Normal file
19
c/src/lib/libbsp/i386/pc386/startup/bspidle.S
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Idle Thread Body
|
||||
*
|
||||
* COPYRIGHT (c) 2016.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#include <rtems/asm.h>
|
||||
|
||||
.p2align 4
|
||||
|
||||
PUBLIC(bsp_idle_thread)
|
||||
SYM(bsp_idle_thread):
|
||||
hltloop: hlt
|
||||
jmp hltloop
|
||||
@@ -120,14 +120,6 @@ uint32_t _CPU_ISR_Get_level( void )
|
||||
return level;
|
||||
}
|
||||
|
||||
void *_CPU_Thread_Idle_body( uintptr_t ignored )
|
||||
{
|
||||
while(1){
|
||||
__asm__ volatile ("hlt");
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct Frame_ {
|
||||
struct Frame_ *up;
|
||||
uintptr_t pc;
|
||||
|
||||
@@ -117,7 +117,7 @@ extern "C" {
|
||||
* not provide one.
|
||||
*/
|
||||
|
||||
#define CPU_PROVIDES_IDLE_THREAD_BODY TRUE
|
||||
#define CPU_PROVIDES_IDLE_THREAD_BODY FALSE
|
||||
|
||||
/*
|
||||
* Define what is required to specify how the network to host conversion
|
||||
|
||||
Reference in New Issue
Block a user