kernel task mail_ping no STDCALL any more

This commit is contained in:
Simon Pickartz 2011-08-18 01:29:55 -07:00
parent 142e4892af
commit c0f9747c67
4 changed files with 15 additions and 12 deletions

View file

@ -220,12 +220,7 @@ int icc_send_irq(int ue)
int icc_halt(void)
{
uint32_t flags;
// iRCCE is not thread save => disable interrupts
flags = irq_nested_disable();
icc_mail_check(0);
irq_nested_enable(flags);
NOP1;
//HALT;
@ -235,7 +230,7 @@ int icc_halt(void)
#define ROUNDS 1000
#define CORE_A 0 // sender
#define CORE_B 10 // receiver
#define CORE_B 11 // receiver
int icc_send_gic_irq(int core_num) {
@ -360,7 +355,6 @@ int icc_mail_ping_irq( void )
{
/* return if not core A */
if( my_ue != CORE_A ) return 0;
uint32_t flags;
uint64_t timer = 0;
int rem_rank = CORE_B;
@ -503,7 +497,7 @@ void icc_mail_check(int irq)
icc_mail_check_tag(header);
iRCCE_mail_release( &header );
}
/* enable interrupts */
irq_nested_enable(flags);

View file

@ -217,9 +217,13 @@ static void list_root(void) {
int initd(void* arg)
{
kprintf("i1");
network_init();
kprintf("i2");
list_root();
kprintf("i3");
test_init();
kprintf("i4");
return 0;
}

View file

@ -83,13 +83,16 @@ int main(void)
kprintf("Kernel starts at %p and ends at %p\n", &kernel_start, &kernel_end);
system_calibration();
kprintf("main3");
kprintf("Processor frequency: %u MHz\n", get_cpu_frequency());
kprintf("Total memory: %u MBytes\n", atomic_int32_read(&total_pages)/((1024*1024)/PAGE_SIZE));
kprintf("Current allocated memory: %u KBytes\n", atomic_int32_read(&total_allocated_pages)*(PAGE_SIZE/1024));
kprintf("Current available memory: %u MBytes\n", atomic_int32_read(&total_available_pages)/((1024*1024)/PAGE_SIZE));
sleep(5);
create_kernel_task(NULL, initd, NULL);
per_core(current_task)->time_slices = 0; // reset the number of time slices
reschedule();

View file

@ -100,16 +100,17 @@ static int foo(void* arg)
}
#ifdef CONFIG_ROCKCREEK
int STDCALL mail_ping(void* arg) {
static int mail_ping(void* arg) {
// icc_mail_ping();
icc_mail_ping_irq();
// icc_irq_ping();
icc_halt();
// icc_halt();
kprintf( "goodbye from mail_ping_task" );
return 0;
}
int STDCALL mail_noise(void*arg) {
static int STDCALL mail_noise(void*arg) {
icc_mail_noise(); // generate noise in the mesh
return 0;
}
@ -289,5 +290,6 @@ int test_init(void)
//sleep(5);
//create_user_task(NULL, "/bin/client", client_argv);
kprintf( "####" );
return 0;
}