search for: boot_level4_pgt

Displaying 14 results from an estimated 14 matches for "boot_level4_pgt".

2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...set_intr_gate(i, early_idt_handler); - asm volatile("lidt %0" :: "m" (idt_descr)); + load_idt((const struct desc_ptr *)&idt_descr); early_printk("Kernel alive\n"); @@ -70,7 +74,7 @@ void __init x86_64_start_kernel(char * r * switch to init_level4_pgt from boot_level4_pgt */ memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t)); - asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt))); + write_cr3(__pa_symbol(&init_level4_pgt)); for (i = 0; i < NR_CPUS; i++) cpu_pda(i) = &boot_cpu_pda[i];...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...set_intr_gate(i, early_idt_handler); - asm volatile("lidt %0" :: "m" (idt_descr)); + load_idt((const struct desc_ptr *)&idt_descr); early_printk("Kernel alive\n"); @@ -70,7 +74,7 @@ void __init x86_64_start_kernel(char * r * switch to init_level4_pgt from boot_level4_pgt */ memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t)); - asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt))); + write_cr3(__pa_symbol(&init_level4_pgt)); for (i = 0; i < NR_CPUS; i++) cpu_pda(i) = &boot_cpu_pda[i];...
2007 Apr 18
0
[PATCH 2/2] Arch-specific includes
...77 -0300 +++ x86_64/lguest_defs.h 2007-04-02 16:19:27.000000000 -0300 @@ -0,0 +1,11 @@ +#ifndef _LGUEST_DEFS_H_ +#define _LGUEST_DEFS_H_ + +#include <asm/vsyscall.h> + +/* LGUEST_TOP_ADDRESS comes from the Makefile */ +#define RESERVE_TOP_ADDRESS LGUEST_GUEST_TOP + +#define BOOT_PGTABLE "boot_level4_pgt" + +#endif
2007 Apr 18
0
[PATCH 2/2] Arch-specific includes
...77 -0300 +++ x86_64/lguest_defs.h 2007-04-02 16:19:27.000000000 -0300 @@ -0,0 +1,11 @@ +#ifndef _LGUEST_DEFS_H_ +#define _LGUEST_DEFS_H_ + +#include <asm/vsyscall.h> + +/* LGUEST_TOP_ADDRESS comes from the Makefile */ +#define RESERVE_TOP_ADDRESS LGUEST_GUEST_TOP + +#define BOOT_PGTABLE "boot_level4_pgt" + +#endif
2007 Apr 18
1
[PATCH] Unified lguest launcher
This is a new version of the unified lguest launcher that applies to the current tree. According to rusty's suggestion, I'm bothering less to be able to load 32 bit kernels on 64-bit machines: changing the launcher for such case would be the easy part! In the absence of further objections, I'll commit it. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> -- =
2007 Apr 18
1
[PATCH] Unified lguest launcher
This is a new version of the unified lguest launcher that applies to the current tree. According to rusty's suggestion, I'm bothering less to be able to load 32 bit kernels on 64-bit machines: changing the launcher for such case would be the easy part! In the absence of further objections, I'll commit it. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> -- =
2007 Apr 18
1
[PATCH 0/2] Use a single loader for i386 and x86_64
...sec[i].sh_link].sh_size) + err(1, "Reading string table"); + break; + } + } + + /* We now have a pointer to the symtab, start searching for the symbol */ + for (i = 0; i < nsyms; i++) { + if ((syms[i].st_shndx == SHN_UNDEF) || !syms[i].st_name) + continue; + if (!strcmp("boot_level4_pgt", + (char *)((u64)syms[i].st_name + strtab))) { + *pgdir_addr = syms[i].st_value - *page_offset; + break; + } + } + + if (!*pgdir_addr) + err(1,"Unable to find boot pgdir"); + + *ird_size = load_initrd(initrd, mem); + /* Entry is physical address: convert to virtual */ + p...
2007 Apr 18
1
[PATCH 0/2] Use a single loader for i386 and x86_64
...sec[i].sh_link].sh_size) + err(1, "Reading string table"); + break; + } + } + + /* We now have a pointer to the symtab, start searching for the symbol */ + for (i = 0; i < nsyms; i++) { + if ((syms[i].st_shndx == SHN_UNDEF) || !syms[i].st_name) + continue; + if (!strcmp("boot_level4_pgt", + (char *)((u64)syms[i].st_name + strtab))) { + *pgdir_addr = syms[i].st_value - *page_offset; + break; + } + } + + if (!*pgdir_addr) + err(1,"Unable to find boot pgdir"); + + *ird_size = load_initrd(initrd, mem); + /* Entry is physical address: convert to virtual */ + p...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...t/arch/x86_64/kernel/head64.c =================================================================== --- linux-2.6.19-quilt.orig/arch/x86_64/kernel/head64.c +++ linux-2.6.19-quilt/arch/x86_64/kernel/head64.c @@ -70,7 +70,7 @@ void __init x86_64_start_kernel(char * r * switch to init_level4_pgt from boot_level4_pgt */ memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t)); - asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt))); + write_cr3(__pa_symbol(&init_level4_pgt)); for (i = 0; i < NR_CPUS; i++) cpu_pda(i) = &boot_cpu_pda[i];...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
...t/arch/x86_64/kernel/head64.c =================================================================== --- linux-2.6.19-quilt.orig/arch/x86_64/kernel/head64.c +++ linux-2.6.19-quilt/arch/x86_64/kernel/head64.c @@ -70,7 +70,7 @@ void __init x86_64_start_kernel(char * r * switch to init_level4_pgt from boot_level4_pgt */ memcpy(init_level4_pgt, boot_level4_pgt, PTRS_PER_PGD*sizeof(pgd_t)); - asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt))); + write_cr3(__pa_symbol(&init_level4_pgt)); for (i = 0; i < NR_CPUS; i++) cpu_pda(i) = &boot_cpu_pda[i];...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...+} + +static void lguest_power_off(void) +{ + hcall(LHCALL_CRASH, __pa("Power down"), 0, 0); +} + +static void lguest_syscall_init(void) +{ + /* FIXME: Will have to implement it later */ +} + +static __attribute_used__ __init void lguest_init(void) +{ + int i; + + current_cr3 = __pa(&boot_level4_pgt); + paravirt_ops.name = "lguest"; + paravirt_ops.mem_type = "LGUEST"; + paravirt_ops.paravirt_enabled = 1; + paravirt_ops.syscall_init = lguest_syscall_init; + + paravirt_ops.save_fl = save_fl; + paravirt_ops.restore_fl = restore_fl; + paravirt_ops.irq_disable = irq_disable; + p...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...+} + +static void lguest_power_off(void) +{ + hcall(LHCALL_CRASH, __pa("Power down"), 0, 0); +} + +static void lguest_syscall_init(void) +{ + /* FIXME: Will have to implement it later */ +} + +static __attribute_used__ __init void lguest_init(void) +{ + int i; + + current_cr3 = __pa(&boot_level4_pgt); + paravirt_ops.name = "lguest"; + paravirt_ops.mem_type = "LGUEST"; + paravirt_ops.paravirt_enabled = 1; + paravirt_ops.syscall_init = lguest_syscall_init; + + paravirt_ops.save_fl = save_fl; + paravirt_ops.restore_fl = restore_fl; + paravirt_ops.irq_disable = irq_disable; + p...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 07/13] lguest64 loader
...sec[i].sh_link].sh_size) + err(1, "Reading string table"); + break; + } + } + + /* We now have a pointer to the symtab, start searching for the symbol */ + for (i = 0; i < nsyms; i++) { + if ((syms[i].st_shndx == SHN_UNDEF) || !syms[i].st_name) + continue; + if (!strcmp("boot_level4_pgt", + (char *)((u64)syms[i].st_name + strtab))) { + *pgdir_addr = syms[i].st_value - *page_offset; + break; + } + } + + if (!*pgdir_addr) + err(1,"Unable to find boot pgdir"); + + *ird_size = load_initrd(initrd, mem); + + /* Entry is physical address: convert to virtual */ + p...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 07/13] lguest64 loader
...sec[i].sh_link].sh_size) + err(1, "Reading string table"); + break; + } + } + + /* We now have a pointer to the symtab, start searching for the symbol */ + for (i = 0; i < nsyms; i++) { + if ((syms[i].st_shndx == SHN_UNDEF) || !syms[i].st_name) + continue; + if (!strcmp("boot_level4_pgt", + (char *)((u64)syms[i].st_name + strtab))) { + *pgdir_addr = syms[i].st_value - *page_offset; + break; + } + } + + if (!*pgdir_addr) + err(1,"Unable to find boot pgdir"); + + *ird_size = load_initrd(initrd, mem); + + /* Entry is physical address: convert to virtual */ + p...