From b388f59ebd8f7e397213dc1a63a1d4505fbd634b Mon Sep 17 00:00:00 2001 From: "bgerofi@riken.jp" Date: Mon, 20 Oct 2014 16:11:15 +0900 Subject: [PATCH] ihk_ikc_irq and ihk_ikc_irq_apicid --- arch/x86/kernel/cpu.c | 5 +++++ arch/x86/kernel/include/arch-memory.h | 2 +- executer/kernel/control.c | 2 ++ lib/include/ihk/cpu.h | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu.c b/arch/x86/kernel/cpu.c index 372555f9..8a00e4e0 100644 --- a/arch/x86/kernel/cpu.c +++ b/arch/x86/kernel/cpu.c @@ -272,6 +272,9 @@ void ihk_mc_init_ap(void) kprintf("# of cpus : %d\n", cpu_info->ncpus); init_processors_local(cpu_info->ncpus); + + kprintf("IKC IRQ vector: %d, CPU APIC: %d\n", + ihk_ikc_irq, ihk_ikc_irq_apicid); /* Do initialization for THIS cpu (BSP) */ assign_processor_id(); @@ -596,6 +599,8 @@ void ihk_mc_boot_cpu(int cpuid, unsigned long pc) memcpy(p, trampoline_code_data, trampoline_code_data_end - trampoline_code_data); + kprintf("trampoline length: %d\n", + trampoline_code_data_end - trampoline_code_data); p[1] = (unsigned long)virt_to_phys(get_init_page_table()); p[2] = (unsigned long)setup_x86_ap; diff --git a/arch/x86/kernel/include/arch-memory.h b/arch/x86/kernel/include/arch-memory.h index f49deedd..6a7ee477 100644 --- a/arch/x86/kernel/include/arch-memory.h +++ b/arch/x86/kernel/include/arch-memory.h @@ -248,7 +248,7 @@ void *map_fixed_area(unsigned long phys, unsigned long size, int uncachable); extern unsigned long ap_trampoline; //#define AP_TRAMPOLINE 0x10000 -#define AP_TRAMPOLINE_SIZE 0x4000 +#define AP_TRAMPOLINE_SIZE 0x2000 /* Local is cachable */ #define IHK_IKC_QUEUE_PT_ATTR (PTATTR_NO_EXECUTE | PTATTR_WRITABLE | PTATTR_UNCACHABLE) diff --git a/executer/kernel/control.c b/executer/kernel/control.c index 79359b07..c6552d55 100644 --- a/executer/kernel/control.c +++ b/executer/kernel/control.c @@ -37,6 +37,8 @@ #include #include "mcctrl.h" +//#define DEBUG + #ifdef DEBUG #define dprintk printk #else diff --git a/lib/include/ihk/cpu.h b/lib/include/ihk/cpu.h index d52bb7d0..8567e520 100644 --- a/lib/include/ihk/cpu.h +++ b/lib/include/ihk/cpu.h @@ -99,4 +99,7 @@ enum ihk_asr_type { int ihk_mc_arch_set_special_register(enum ihk_asr_type, unsigned long value); int ihk_mc_arch_get_special_register(enum ihk_asr_type, unsigned long *value); +extern unsigned int ihk_ikc_irq; +extern unsigned int ihk_ikc_irq_apicid; + #endif