IHK-API: expand and fix for ver 1.2.
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
extern void arch_init(void);
|
extern void arch_init(void);
|
||||||
extern void kmsg_init(int);
|
extern void kmsg_init(int);
|
||||||
extern void mem_init(void);
|
extern void mem_init(void);
|
||||||
extern void ikc_master_init(void);
|
extern void ihk_ikc_master_init(void);
|
||||||
extern void ap_init(void);
|
extern void ap_init(void);
|
||||||
extern void arch_ready(void);
|
extern void arch_ready(void);
|
||||||
extern void mc_ikc_test_init(void);
|
extern void mc_ikc_test_init(void);
|
||||||
|
|||||||
@@ -108,11 +108,11 @@ static void dma_test(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern char *ihk_mc_get_kernel_args(void);
|
extern char *ihk_get_kargs(void);
|
||||||
|
|
||||||
char *find_command_line(char *name)
|
char *find_command_line(char *name)
|
||||||
{
|
{
|
||||||
char *cmdline = ihk_mc_get_kernel_args();
|
char *cmdline = ihk_get_kargs();
|
||||||
|
|
||||||
if (!cmdline) {
|
if (!cmdline) {
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -122,7 +122,7 @@ char *find_command_line(char *name)
|
|||||||
|
|
||||||
static void parse_kargs(void)
|
static void parse_kargs(void)
|
||||||
{
|
{
|
||||||
kprintf("KCommand Line: %s\n", ihk_mc_get_kernel_args());
|
kprintf("KCommand Line: %s\n", ihk_get_kargs());
|
||||||
|
|
||||||
if (1) {
|
if (1) {
|
||||||
char *key = "osnum=";
|
char *key = "osnum=";
|
||||||
@@ -254,7 +254,7 @@ static void rest_init(void)
|
|||||||
time_init();
|
time_init();
|
||||||
kmalloc_init();
|
kmalloc_init();
|
||||||
|
|
||||||
ikc_master_init();
|
ihk_ikc_master_init();
|
||||||
|
|
||||||
proc_init();
|
proc_init();
|
||||||
|
|
||||||
@@ -373,6 +373,7 @@ int main(void)
|
|||||||
|
|
||||||
kputs("IHK/McKernel started.\n");
|
kputs("IHK/McKernel started.\n");
|
||||||
|
|
||||||
|
ihk_set_kmsg(virt_to_phys(&kmsg_buf), IHK_KMSG_SIZE);
|
||||||
arch_init();
|
arch_init();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ static struct ihk_ikc_channel_desc *mchannel;
|
|||||||
static int arch_master_channel_packet_handler(struct ihk_ikc_channel_desc *,
|
static int arch_master_channel_packet_handler(struct ihk_ikc_channel_desc *,
|
||||||
void *__packet, void *arg);
|
void *__packet, void *arg);
|
||||||
|
|
||||||
void ikc_master_init(void)
|
void ihk_ikc_master_init(void)
|
||||||
{
|
{
|
||||||
mchannel = kmalloc(sizeof(struct ihk_ikc_channel_desc) +
|
mchannel = kmalloc(sizeof(struct ihk_ikc_channel_desc) +
|
||||||
sizeof(struct ihk_ikc_master_packet),
|
sizeof(struct ihk_ikc_master_packet),
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ struct ihk_mc_cpu_info {
|
|||||||
int ncpus;
|
int ncpus;
|
||||||
int *hw_ids;
|
int *hw_ids;
|
||||||
int *nodes;
|
int *nodes;
|
||||||
|
int *linux_cpu_ids;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ihk_mc_cpu_info *ihk_mc_get_cpu_info(void);
|
struct ihk_mc_cpu_info *ihk_mc_get_cpu_info(void);
|
||||||
@@ -56,6 +57,9 @@ void ihk_mc_boot_cpu(int cpuid, unsigned long pc);
|
|||||||
int ihk_mc_get_processor_id(void);
|
int ihk_mc_get_processor_id(void);
|
||||||
int ihk_mc_get_hardware_processor_id(void);
|
int ihk_mc_get_hardware_processor_id(void);
|
||||||
int ihk_mc_get_numa_id(void);
|
int ihk_mc_get_numa_id(void);
|
||||||
|
int ihk_mc_get_nr_cores();
|
||||||
|
int ihk_mc_get_core(int id, unsigned long *linux_core_id, unsigned long *apic_id,
|
||||||
|
int *numa_id);
|
||||||
|
|
||||||
void ihk_mc_delay_us(int us);
|
void ihk_mc_delay_us(int us);
|
||||||
void ihk_mc_set_syscall_handler(long (*handler)(int, ihk_mc_user_context_t *));
|
void ihk_mc_set_syscall_handler(long (*handler)(int, ihk_mc_user_context_t *));
|
||||||
|
|||||||
@@ -185,6 +185,9 @@ int ihk_mc_get_memory_chunk(int id,
|
|||||||
void remote_flush_tlb_cpumask(struct process_vm *vm,
|
void remote_flush_tlb_cpumask(struct process_vm *vm,
|
||||||
unsigned long addr, int cpu_id);
|
unsigned long addr, int cpu_id);
|
||||||
|
|
||||||
|
int ihk_set_kmsg(unsigned long addr, unsigned long size);
|
||||||
|
char *ihk_get_kargs();
|
||||||
|
|
||||||
extern void (*__tlb_flush_handler)(int vector);
|
extern void (*__tlb_flush_handler)(int vector);
|
||||||
|
|
||||||
struct tlb_flush_entry {
|
struct tlb_flush_entry {
|
||||||
|
|||||||
Reference in New Issue
Block a user