Re: [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3

2008-01-28 Thread Glauber de Oliveira Costa
Ingo Molnar wrote: * Marcelo Tosatti <[EMAIL PROTECTED]> wrote: The first fix is not even specific for PARAVIRT, and it's actually preventing the whole tree from booting. And the following allows PARAVIRT kernels to boot on x86_64. Fill in missing pagetable manipulation

Re: [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS = 3

2008-01-28 Thread Glauber de Oliveira Costa
Ingo Molnar wrote: * Marcelo Tosatti [EMAIL PROTECTED] wrote: The first fix is not even specific for PARAVIRT, and it's actually preventing the whole tree from booting. And the following allows PARAVIRT kernels to boot on x86_64. Fill in missing pagetable manipulation

[PATCH 6/6] export __supported_pte_mask

2008-01-18 Thread Glauber de Oliveira Costa
export __supported_pte_mask variable as GPL symbol. lguest is a user of it. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/setup64.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/setup64.c b/arch/x86/kernel/set

[PATCH 5/6] export check_tsc_unstable

2008-01-18 Thread Glauber de Oliveira Costa
Exporrt check_tsc_unstable function as GPL symbol. lguest is a user of it. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/tsc_64.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/tsc_64.c b/arch/x86/kernel/ts

[PATCH 4/6] use __PAGE_KERNEL instead of _PAGE_KERNEL

2008-01-18 Thread Glauber de Oliveira Costa
x86_64 don't expose the intermediate representation with one underline, _PAGE_KERNEL, just the double-underlined one. Use it, to get a common ground between 32 and 64-bit Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/page_tables.c |4 ++-- 1 files c

[PATCH 3/6] explicitly use sched.h include

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the sched.h header explicitly to lguest_user file, and avoid depending on it being included somewhere else. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/lguest_user.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff

[PATCH 2/6] explicitly use hrtimer.h include

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the hrtimer.h header explicitly to lg.h file, and avoid depending on it being included somewhere else. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/lg.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/lgues

[PATCH 1/6] explicitly use ktime.h include

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the ktime.h header explicitly to hypercalls file, and avoid depending on it being included somewhere else. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/hypercalls.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/d

[PATCH 0/6] lguest patches for compiling x86_64

2008-01-18 Thread Glauber de Oliveira Costa
Right now, I have lguest in-tree module compiling on x86_64. It's not yet on a sendable state, since the module itself isn't loading. However, this subset of the series is pretty straightforward, and I'm sending it now aiming at reducing the delta size in the future ;-) Have fun, -- To

Re: [PATCH 0/10] Tree fixes for PARAVIRT

2008-01-18 Thread Glauber de Oliveira Costa
x86.git tree). > > Ingo > Other than this, it seems to build and boot fine. Do you want me to resend ? -- Glauber de Oliveira Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act." -- To unsubscribe from t

[PATCH 9/10] provide __parainstructions section

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the __parainstructions section to vmlinux.lds.S. It's needed for the patching system. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/vmlinux_64.lds.S |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/x86/

[PATCH 10/10] change function orders in paravirt.h

2008-01-18 Thread Glauber de Oliveira Costa
__pmd, pmd_val and set_pud are used before they are defined (as static) We move them a little up in the file, so it doesn't happen. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- include/asm-x86/paravirt.h | 84 ++-- 1 files chang

[PATCH 6/10] provide read and write cr8 paravirt hooks

2008-01-18 Thread Glauber de Oliveira Costa
Since the cr8 manipulation functions ended up staying in the tree, they can't be defined just when PARAVIRT is off: In this patch, those functions are defined for the PARAVIRT case too. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- include/asm-x86/system.h

[PATCH 7/10] fill pv_cpu_ops structure with cr8 fields

2008-01-18 Thread Glauber de Oliveira Costa
This patch fills in the read and write cr8 fields with their native version Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/paravirt.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/

[PATCH 8/10] add asm_offset PARAVIRT constants

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the constant PARAVIRT needs in asm_offsets_64.c Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/asm-offsets_64.c | 14 ++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/asm-offsets_64.c b/ar

[PATCH 5/10] puts read and write cr8 into pv_cpu_ops

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds room for read and write_cr8 functions back in pv_cpu_ops struct Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- include/asm-x86/paravirt.h | 15 +++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/include/asm-x86/paravirt.h b/i

[PATCH 1/10] add missing parameter for lookup_address

2008-01-18 Thread Glauber de Oliveira Costa
lookup_address() receives two parameters, but efi_64.c call is passing only one. It's actually preventing the tree from compiling Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/efi_64.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff

[PATCH 4/10] put generic mm_hooks include into PARAVIRT

2008-01-18 Thread Glauber de Oliveira Costa
With PARAVIRT, we actually have arch_{dup,exit}_mmap functions, so we can't include the generic header Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- include/asm-x86/mmu_context_64.h |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/include/a

[PATCH 3/10] provide a native_init_IRQ function to x86_64

2008-01-18 Thread Glauber de Oliveira Costa
x86_64 lacks a native_init_IRQ() function, so we turn the arch's init_IRQ() function into a native construct Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/i8259_64.c |4 +++- include/asm-x86/hw_irq_64.h |1 + 2 files changed, 4 insertions

[PATCH 0/10] Tree fixes for PARAVIRT

2008-01-18 Thread Glauber de Oliveira Costa
Hi, This small series provides some more fixes towards the goal to have the PARAVIRT selectable for x86_64. After that, just some more small steps are needed. The first fix is not even specific for PARAVIRT, and it's actually preventing the whole tree from booting. -- To unsubscribe from this

[PATCH 2/10] add stringify header

2008-01-18 Thread Glauber de Oliveira Costa
We use a __stringify construction at paravirt_patch_64.c. It's better practice to include the stringify header directly Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/paravirt_patch_64.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff

[PATCH 6/6] export __supported_pte_mask

2008-01-18 Thread Glauber de Oliveira Costa
export __supported_pte_mask variable as GPL symbol. lguest is a user of it. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/setup64.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/setup64.c b/arch/x86/kernel/setup64.c

[PATCH 5/6] export check_tsc_unstable

2008-01-18 Thread Glauber de Oliveira Costa
Exporrt check_tsc_unstable function as GPL symbol. lguest is a user of it. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/tsc_64.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/tsc_64.c b/arch/x86/kernel/tsc_64.c index

[PATCH 4/6] use __PAGE_KERNEL instead of _PAGE_KERNEL

2008-01-18 Thread Glauber de Oliveira Costa
x86_64 don't expose the intermediate representation with one underline, _PAGE_KERNEL, just the double-underlined one. Use it, to get a common ground between 32 and 64-bit Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/page_tables.c |4 ++-- 1 files changed, 2

[PATCH 2/6] explicitly use hrtimer.h include

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the hrtimer.h header explicitly to lg.h file, and avoid depending on it being included somewhere else. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/lg.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/lguest/lg.h b

[PATCH 1/6] explicitly use ktime.h include

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the ktime.h header explicitly to hypercalls file, and avoid depending on it being included somewhere else. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/hypercalls.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers

Re: [PATCH 0/10] Tree fixes for PARAVIRT

2008-01-18 Thread Glauber de Oliveira Costa
if it breaks something. The bug was found before i pushed out the x86.git devel tree (and the fix is below - but this shouldnt matter to you because the bug never hit a public x86.git tree). Ingo Other than this, it seems to build and boot fine. Do you want me to resend ? -- Glauber de

[PATCH 9/10] provide __parainstructions section

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the __parainstructions section to vmlinux.lds.S. It's needed for the patching system. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/vmlinux_64.lds.S |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel

[PATCH 10/10] change function orders in paravirt.h

2008-01-18 Thread Glauber de Oliveira Costa
__pmd, pmd_val and set_pud are used before they are defined (as static) We move them a little up in the file, so it doesn't happen. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/paravirt.h | 84 ++-- 1 files changed, 42

[PATCH 8/10] add asm_offset PARAVIRT constants

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds the constant PARAVIRT needs in asm_offsets_64.c Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/asm-offsets_64.c | 14 ++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86

[PATCH 5/10] puts read and write cr8 into pv_cpu_ops

2008-01-18 Thread Glauber de Oliveira Costa
This patch adds room for read and write_cr8 functions back in pv_cpu_ops struct Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/paravirt.h | 15 +++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/include/asm-x86/paravirt.h b/include

[PATCH 0/6] lguest patches for compiling x86_64

2008-01-18 Thread Glauber de Oliveira Costa
Right now, I have lguest in-tree module compiling on x86_64. It's not yet on a sendable state, since the module itself isn't loading. However, this subset of the series is pretty straightforward, and I'm sending it now aiming at reducing the delta size in the future ;-) Have fun, -- To

[PATCH 6/10] provide read and write cr8 paravirt hooks

2008-01-18 Thread Glauber de Oliveira Costa
Since the cr8 manipulation functions ended up staying in the tree, they can't be defined just when PARAVIRT is off: In this patch, those functions are defined for the PARAVIRT case too. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/system.h | 30

[PATCH 4/10] put generic mm_hooks include into PARAVIRT

2008-01-18 Thread Glauber de Oliveira Costa
With PARAVIRT, we actually have arch_{dup,exit}_mmap functions, so we can't include the generic header Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/mmu_context_64.h |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/include/asm-x86

[PATCH 2/10] add stringify header

2008-01-18 Thread Glauber de Oliveira Costa
We use a __stringify construction at paravirt_patch_64.c. It's better practice to include the stringify header directly Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/paravirt_patch_64.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch

[PATCH 0/10] Tree fixes for PARAVIRT

2008-01-18 Thread Glauber de Oliveira Costa
Hi, This small series provides some more fixes towards the goal to have the PARAVIRT selectable for x86_64. After that, just some more small steps are needed. The first fix is not even specific for PARAVIRT, and it's actually preventing the whole tree from booting. -- To unsubscribe from this

[PATCH 3/10] provide a native_init_IRQ function to x86_64

2008-01-18 Thread Glauber de Oliveira Costa
x86_64 lacks a native_init_IRQ() function, so we turn the arch's init_IRQ() function into a native construct Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/i8259_64.c |4 +++- include/asm-x86/hw_irq_64.h |1 + 2 files changed, 4 insertions(+), 1 deletions

[PATCH 1/10] add missing parameter for lookup_address

2008-01-18 Thread Glauber de Oliveira Costa
lookup_address() receives two parameters, but efi_64.c call is passing only one. It's actually preventing the tree from compiling Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/efi_64.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git

[PATCH 7/10] fill pv_cpu_ops structure with cr8 fields

2008-01-18 Thread Glauber de Oliveira Costa
This patch fills in the read and write cr8 fields with their native version Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- arch/x86/kernel/paravirt.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel

[PATCH] fix drivers/lguest Makefile entry

2008-01-17 Thread Glauber de Oliveira Costa
It should depend on CONFIG_LGUEST, not CONFIG_LGUEST_GUEST Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index ee1b6a5..58a17e9 100644 --- a/d

Re: [PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
-lguest.tar.gz On Jan 17, 2008 10:35 PM, Glauber de Oliveira Costa <[EMAIL PROTECTED]> wrote: > urrently, lguest module can't be compiled without the PARAVIRT flag being > on.This is a fake dependency, since the module itself shouldn't need any > paravirtoverride. Reason for that i

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
Wecan save some lines of code by getting rid of *lg= cpu... lines of code spread everywhere by now. he new macro lg_data(cpu) is used anywhere we'd otherwise use the cpu->lg->lguest_dataconstruction, to prevent lines getting to big. Signed-off-by:Glauber de Oliveira Costa <[EMAIL PROTECTED]> ---

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
urrently, lguest module can't be compiled without the PARAVIRT flag being on.This is a fake dependency, since the module itself shouldn't need any paravirtoverride. Reason for that is the reference to pv_info structure ininitial loading tests. his patch removes it in favour of a more generic

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
eventsrepresented in the 'changed' bitmap are per-cpu, not per-guest. moveit to the lg_cpu structure Signed-off-by:Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/interrupts_and_traps.c |2 +- drivers/lguest/lg.h |6 +++--- drivers/lguest/segments.c

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
spte_addrdoes not depend on any guest information, so we wipeout the lg parameter completely. Signed-off-by:Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/page_tables.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff--git a/drivers/lguest/page_tables.c

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
inour new model, pages are assigned to a virtual cpu, not to a guest. Wemove it to the lg_cpu structure. Signed-off-by:Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/lg.h |3 ++- drivers/lguest/lguest_user.c |8 drivers/lguest/x86/core.c|4 ++-- 3

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
gpte_addr()does not depend on any guest information. So we wipe out thelg parameter from it completely. Signed-off-by:Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/page_tables.c |7 +++ 1 files changed, 3 insertions(+), 4 deletions(-) diff--git

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
This series takes one more step towards cpu-ification of lguest. As for rusty's last suggestion, I get rid of the whole bunch of "struct lguest *lg = cpu->lg" statements around by using lg_cpu as our base structure wherever it matters. (this saves us 11 lines) -- To unsubscribe from this list:

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
inour model, a guest does not run in a cpu anymore: a virtual cpu does.So we change last_guest to last_cpu Signed-off-by:Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/x86/core.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff--git

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
This series takes one more step towards cpu-ification of lguest. As for rusty's last suggestion, I get rid of the whole bunch of struct lguest *lg = cpu-lg statements around by using lg_cpu as our base structure wherever it matters. (this saves us 11 lines) -- To unsubscribe from this list: send

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
inour model, a guest does not run in a cpu anymore: a virtual cpu does.So we change last_guest to last_cpu Signed-off-by:Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/x86/core.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff--git a/drivers/lguest/x86/core.c

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
spte_addrdoes not depend on any guest information, so we wipeout the lg parameter completely. Signed-off-by:Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/page_tables.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff--git a/drivers/lguest/page_tables.c

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
inour new model, pages are assigned to a virtual cpu, not to a guest. Wemove it to the lg_cpu structure. Signed-off-by:Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/lg.h |3 ++- drivers/lguest/lguest_user.c |8 drivers/lguest/x86/core.c|4 ++-- 3

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
gpte_addr()does not depend on any guest information. So we wipe out thelg parameter from it completely. Signed-off-by:Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/page_tables.c |7 +++ 1 files changed, 3 insertions(+), 4 deletions(-) diff--git

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
eventsrepresented in the 'changed' bitmap are per-cpu, not per-guest. moveit to the lg_cpu structure Signed-off-by:Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/interrupts_and_traps.c |2 +- drivers/lguest/lg.h |6 +++--- drivers/lguest/segments.c

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
Wecan save some lines of code by getting rid of *lg= cpu... lines of code spread everywhere by now. he new macro lg_data(cpu) is used anywhere we'd otherwise use the cpu-lg-lguest_dataconstruction, to prevent lines getting to big. Signed-off-by:Glauber de Oliveira Costa [EMAIL PROTECTED] ---

[PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
urrently, lguest module can't be compiled without the PARAVIRT flag being on.This is a fake dependency, since the module itself shouldn't need any paravirtoverride. Reason for that is the reference to pv_info structure ininitial loading tests. his patch removes it in favour of a more generic

Re: [PATCH 0/7] More lguest massage.

2008-01-17 Thread Glauber de Oliveira Costa
-lguest.tar.gz On Jan 17, 2008 10:35 PM, Glauber de Oliveira Costa [EMAIL PROTECTED] wrote: urrently, lguest module can't be compiled without the PARAVIRT flag being on.This is a fake dependency, since the module itself shouldn't need any paravirtoverride. Reason for that is the reference to pv_info

[PATCH] fix drivers/lguest Makefile entry

2008-01-17 Thread Glauber de Oliveira Costa
It should depend on CONFIG_LGUEST, not CONFIG_LGUEST_GUEST Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index ee1b6a5..58a17e9 100644 --- a/drivers

[PATCH 16/16] per-vcpu lguest pgdir management

2008-01-07 Thread Glauber de Oliveira Costa
this patch makes the pgdir management per-vcpu. The pgdirs pool is still guest-wide (although it'll probably need to grow when we are really executing more vcpus), but the pgdidx index is gone, since it makes no sense anymore. Instead, we use a per-vcpu index. Signed-off-by: Glauber de Oliveira

[PATCH 14/16] makes special fields be per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
lguest struct have room for some fields, namely, cr2, ts, esp1 and ss1, that are not really guest-wide, but rather, vcpu-wide. This patch puts it in the vcpu struct Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/hypercalls.c | 10 +- d

[PATCH 15/16] make pending notifications per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
this patch makes the pending_notify field, used to control pending notifications, per-vcpu, instead of per-guest Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/core.c|6 +++--- drivers/lguest/hypercalls.c |6 +++--- drivers/lgues

[PATCH 13/16] per-vcpu lguest task management

2008-01-07 Thread Glauber de Oliveira Costa
lguest uses tasks to control its running behaviour (like sending breaks, controlling halted state, etc). In a per-vcpu environment, each vcpu will have its own underlying task. So this patch makes the infrastructure for that possible Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTEC

[PATCH 11/16] make registers per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
This is the most obvious per-vcpu field: registers. So this patch moves it from struct lguest to struct vcpu, and patch the places in which they are used, accordingly Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/interrupts_and_traps.c

[PATCH 10/16] make emulate_insn receive a vcpu struct.

2008-01-07 Thread Glauber de Oliveira Costa
emulate_insn() needs to know about current eip, which will be, in the future, a per-vcpu thing. So in this patch, the function prototype is modified to receive a vcpu struct Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/x86/core.c |5 +++-- 1 files c

[PATCH 12/16] replace lguest_arch with lg_vcpu_arch.

2008-01-07 Thread Glauber de Oliveira Costa
The fields found in lguest_arch are not really per-guest, but per-cpu (gdt, idt, etc). So this patch turns lguest_arch into lg_vcpu_arch. It makes sense to have a per-guest per-arch struct, but this can be addressed later, when the need arrives. Signed-off-by: Glauber de Oliveira Costa <[EM

[PATCH 08/16] per-vcpu interrupt processing.

2008-01-07 Thread Glauber de Oliveira Costa
This patch adapts interrupt processing for using the vcpu struct. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/core.c |2 +- drivers/lguest/interrupts_and_traps.c | 25 ++--- drivers/lguest/lg.h

[PATCH 09/16] map_switcher_in_guest() per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
The switcher needs to be mapped per-vcpu, because different vcpus will potentially have different page tables (they don't have to, because threads will share the same). So our first step is the make the function receive a vcpu struct Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTEC

[PATCH 07/16] per-vcpu lguest timers

2008-01-07 Thread Glauber de Oliveira Costa
Here, I introduce per-vcpu timers. With this, we can have local expiries, needed for accounting time in smp guests Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/hypercalls.c |2 +- drivers/lguest/interrupts_and_traps.c

[PATCH 06/16] make hypercalls use the vcpu struct

2008-01-07 Thread Glauber de Oliveira Costa
this patch changes do_hcall() and do_async_hcall() interfaces (and obviously their callers) to get a vcpu struct. Again, a vcpu services the hypercall, not the whole guest Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/core.c |6 +++--- drivers/

[PATCH 02/16] adapt lguest launcher to per-cpuness

2008-01-07 Thread Glauber de Oliveira Costa
This patch makes uses of pread() and pwrite() in lguest launcher to communicate the vcpu id to the lguest driver. The id is kept in a thread variable, which means we'll span in the future, vcpus as threads. But right now, only the infrastructure is out there. Signed-off-by: Glauber de Oliveira

[PATCH 05/16] make write() operation smp aware

2008-01-07 Thread Glauber de Oliveira Costa
This patch makes the write() file operation smp aware. Which means, receiving the vcpu_id value through the offset parameter, and being well aware to which vcpu we're talking to. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/lguest_user.c | 11

[PATCH 03/16] initialize vcpu

2008-01-07 Thread Glauber de Oliveira Costa
this patch initializes the first vcpu in the initialize() routing, which is responsible for starting the process of putting the guest up. right now, as much of the fields are still not per-vcpu, it does not do much. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/

[PATCH 04/16] per-cpu run guest

2008-01-07 Thread Glauber de Oliveira Costa
This patch makes the run_guest() routine use the vcpu struct. This is required since in a smp guest environment, there's no more the notion of "running the guest", but rather, it is "running the vcpu" Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]>

[PATCH 0/16 -v2] lguest smp infrastructure

2008-01-07 Thread Glauber de Oliveira Costa
Folks, This new series is not at all fundamentally different from the old one I sent. Only difference is that I address the comments received, mainly from Rusty. enjoy! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More

[PATCH 01/16] introduce vcpu struct

2008-01-07 Thread Glauber de Oliveira Costa
this patch introduces a vcpu struct for lguest. In upcoming patches, more and more fields will be moved from the lguest struct to the vcpu Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- drivers/lguest/lg.h | 10 ++ 1 files changed, 10 insertions(+), 0 del

[PATCH 0/16 -v2] lguest smp infrastructure

2008-01-07 Thread Glauber de Oliveira Costa
Folks, This new series is not at all fundamentally different from the old one I sent. Only difference is that I address the comments received, mainly from Rusty. enjoy! -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More

[PATCH 01/16] introduce vcpu struct

2008-01-07 Thread Glauber de Oliveira Costa
this patch introduces a vcpu struct for lguest. In upcoming patches, more and more fields will be moved from the lguest struct to the vcpu Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/lg.h | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff

[PATCH 03/16] initialize vcpu

2008-01-07 Thread Glauber de Oliveira Costa
this patch initializes the first vcpu in the initialize() routing, which is responsible for starting the process of putting the guest up. right now, as much of the fields are still not per-vcpu, it does not do much. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest

[PATCH 04/16] per-cpu run guest

2008-01-07 Thread Glauber de Oliveira Costa
This patch makes the run_guest() routine use the vcpu struct. This is required since in a smp guest environment, there's no more the notion of running the guest, but rather, it is running the vcpu Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/core.c|6

[PATCH 02/16] adapt lguest launcher to per-cpuness

2008-01-07 Thread Glauber de Oliveira Costa
This patch makes uses of pread() and pwrite() in lguest launcher to communicate the vcpu id to the lguest driver. The id is kept in a thread variable, which means we'll span in the future, vcpus as threads. But right now, only the infrastructure is out there. Signed-off-by: Glauber de Oliveira

[PATCH 05/16] make write() operation smp aware

2008-01-07 Thread Glauber de Oliveira Costa
This patch makes the write() file operation smp aware. Which means, receiving the vcpu_id value through the offset parameter, and being well aware to which vcpu we're talking to. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/lguest_user.c | 11 +-- 1

[PATCH 07/16] per-vcpu lguest timers

2008-01-07 Thread Glauber de Oliveira Costa
Here, I introduce per-vcpu timers. With this, we can have local expiries, needed for accounting time in smp guests Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/hypercalls.c |2 +- drivers/lguest/interrupts_and_traps.c | 20

[PATCH 06/16] make hypercalls use the vcpu struct

2008-01-07 Thread Glauber de Oliveira Costa
this patch changes do_hcall() and do_async_hcall() interfaces (and obviously their callers) to get a vcpu struct. Again, a vcpu services the hypercall, not the whole guest Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/core.c |6 +++--- drivers/lguest

[PATCH 08/16] per-vcpu interrupt processing.

2008-01-07 Thread Glauber de Oliveira Costa
This patch adapts interrupt processing for using the vcpu struct. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/core.c |2 +- drivers/lguest/interrupts_and_traps.c | 25 ++--- drivers/lguest/lg.h | 10

[PATCH 09/16] map_switcher_in_guest() per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
The switcher needs to be mapped per-vcpu, because different vcpus will potentially have different page tables (they don't have to, because threads will share the same). So our first step is the make the function receive a vcpu struct Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED

[PATCH 10/16] make emulate_insn receive a vcpu struct.

2008-01-07 Thread Glauber de Oliveira Costa
emulate_insn() needs to know about current eip, which will be, in the future, a per-vcpu thing. So in this patch, the function prototype is modified to receive a vcpu struct Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/x86/core.c |5 +++-- 1 files changed, 3

[PATCH 12/16] replace lguest_arch with lg_vcpu_arch.

2008-01-07 Thread Glauber de Oliveira Costa
The fields found in lguest_arch are not really per-guest, but per-cpu (gdt, idt, etc). So this patch turns lguest_arch into lg_vcpu_arch. It makes sense to have a per-guest per-arch struct, but this can be addressed later, when the need arrives. Signed-off-by: Glauber de Oliveira Costa [EMAIL

[PATCH 11/16] make registers per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
This is the most obvious per-vcpu field: registers. So this patch moves it from struct lguest to struct vcpu, and patch the places in which they are used, accordingly Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/interrupts_and_traps.c | 29

[PATCH 13/16] per-vcpu lguest task management

2008-01-07 Thread Glauber de Oliveira Costa
lguest uses tasks to control its running behaviour (like sending breaks, controlling halted state, etc). In a per-vcpu environment, each vcpu will have its own underlying task. So this patch makes the infrastructure for that possible Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED

[PATCH 14/16] makes special fields be per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
lguest struct have room for some fields, namely, cr2, ts, esp1 and ss1, that are not really guest-wide, but rather, vcpu-wide. This patch puts it in the vcpu struct Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/hypercalls.c | 10 +- drivers

[PATCH 15/16] make pending notifications per-vcpu

2008-01-07 Thread Glauber de Oliveira Costa
this patch makes the pending_notify field, used to control pending notifications, per-vcpu, instead of per-guest Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- drivers/lguest/core.c|6 +++--- drivers/lguest/hypercalls.c |6 +++--- drivers/lguest/lg.h

[PATCH 16/16] per-vcpu lguest pgdir management

2008-01-07 Thread Glauber de Oliveira Costa
this patch makes the pgdir management per-vcpu. The pgdirs pool is still guest-wide (although it'll probably need to grow when we are really executing more vcpus), but the pgdidx index is gone, since it makes no sense anymore. Instead, we use a per-vcpu index. Signed-off-by: Glauber de Oliveira

Re: [PATCH 0/16] lguest: introduce vcpu structure

2008-01-06 Thread Glauber de Oliveira Costa
On Dec 25, 2007 9:54 PM, Rusty Russell <[EMAIL PROTECTED]> wrote: > On Friday 21 December 2007 00:33:40 Glauber de Oliveira Costa wrote: > > this patch makes room for the vcpu structure in lguest, already used in > > this very same way at lguest64. It's the first part of

Re: [PATCH 0/16] lguest: introduce vcpu structure

2008-01-06 Thread Glauber de Oliveira Costa
On Dec 25, 2007 9:54 PM, Rusty Russell [EMAIL PROTECTED] wrote: On Friday 21 December 2007 00:33:40 Glauber de Oliveira Costa wrote: this patch makes room for the vcpu structure in lguest, already used in this very same way at lguest64. It's the first part of our plan to have lguest

Re: [PATCH 0/5] x86: another attempt at x86 pagetable unification

2007-12-20 Thread Glauber de Oliveira Costa
change > > will rebuild the world. And dealing with patch conflicts caused by > > changing early patches in the series is never fun. > > that's true. The 'rej' tool helps alot though. ( Plus a distcc cluster > that builds a distro kernel in 45-50 seconds from scratch ;) So that

Re: [PATCH 13/15] move patching code to arch-specific file.

2007-12-20 Thread Glauber de Oliveira Costa
fine, because I clearly have the file locally ;-) I'm attaching a new patch that replaces just this one. -- Glauber de Oliveira Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act." From 9a9307e976391776c0d63e3640d907

[PATCH 15/15] replace x86_read/write_per_cpu with a common function.

2007-12-20 Thread Glauber de Oliveira Costa
x86_read_per_cpu() and its writeish sister are not present in x86_64. So in this patch, we replace them with __get_cpu_var(), which is present in both Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/paravirt.c | 10 +- 1 files changed, 5 inse

[PATCH 13/15] move patching code to arch-specific file.

2007-12-20 Thread Glauber de Oliveira Costa
The core patching code for paravirt is sufficiently different among i386 and x86_64, and we move them to specific files. Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/kernel/Makefile_32 |2 +- arch/x86/kernel/paravirt.c

[PATCH 14/15] x86_64 patching functions

2007-12-20 Thread Glauber de Oliveira Costa
Like i386, x86_64 also need to include its own patching function. (Well, if you're not in a hurry, and don't care about speed, you don't really _need_ ;-)) So here they are. Not much different in essence from i386 Signed-off-by: Glauber de Oliveira Costa <[EMAIL PROTECTED]> --- arch/x86/

  1   2   3   4   5   6   7   8   9   10   >