Introducing paravirt_ops for x86_64

2007-08-08 Thread Glauber de Oliveira Costa
Hi folks, After some time away from it, and a big rebase as a consequence, here is the updated version of paravirt_ops for x86_64, heading to inclusion. Your criticism is of course, very welcome. Have fun -- arch/x86_64/Kconfig | 11 arch/x86_64/ia32/syscall32.c |2

[PATCH 1/25] [PATCH] header file move

2007-08-08 Thread Glauber de Oliveira Costa
Later on, the paravirt_ops patch will deference the vm_area_struct in asm/pgtable.h. It means this define must be after the struct definition Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- include/linux/mm.h | 14 +- 1

[PATCH 2/25] [PATCH] tlb flushing routines

2007-08-08 Thread Glauber de Oliveira Costa
This patch turns the flush_tlb routines into native versions. In case paravirt is not defined, the natives are defined into the actually used ones. flush_tlb_others() goes in smp.c, unless we smp is not in the game Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven

[PATCH 3/25] [PATCH] irq_flags / halt routines

2007-08-08 Thread Glauber de Oliveira Costa
This patch turns the irq_flags and halt routines into the native versions. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- include/asm-x86_64/irqflags.h | 32 +++- 1 files changed, 27 insertions(+), 5

[PATCH 10/25] [PATCH] export math_state_restore

2007-08-08 Thread Glauber de Oliveira Costa
Export math_state_restore symbol, so it can be used for hypervisors. They are commonly loaded as modules. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- arch/x86_64/kernel/traps.c |1 + 1 files changed, 1 insertions(+), 0

[PATCH 9/25] [PATCH] report ring kernel is running without paravirt

2007-08-08 Thread Glauber de Oliveira Costa
When paravirtualization is disabled, the kernel is always running at ring 0. So report it in the appropriate macro Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- include/asm-x86_64/segment.h |4 1 files changed, 4

[PATCH 14/25] [PATCH] add native functions for descriptors handling

2007-08-08 Thread Glauber de Oliveira Costa
This patch turns the basic descriptor handling into native_ functions. It is basically write_idt, load_idt, write_gdt, load_gdt, set_ldt, store_tr, load_tls, and the ones for updating a single entry. In the process of doing that, we change the definition of load_LDT_nolock, and caller sites have

[PATCH 13/25] [PATCH] turn msr.h functions into native versions

2007-08-08 Thread Glauber de Oliveira Costa
This patch turns makes the basic operations in msr.h out of native ones. Those operations are: rdmsr, wrmsr, rdtsc, rdtscp, rdpmc, and cpuid. After they are turned into functions, some call sites need casts, and so we provide them. There is also a fixup needed in the functions located in the

[PATCH 11/25] [PATCH] introduce paravirt_release_pgd()

2007-08-08 Thread Glauber de Oliveira Costa
This patch introduces a new macro/function that informs a paravirt guest when its page table is not more in use, and can be released. In case we're not paravirt, just do nothing. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] ---

[PATCH 15/25] [PATCH] get rid of inline asm for load_cr3

2007-08-08 Thread Glauber de Oliveira Costa
Besides not elegant, it is now even forbidden, since it can break paravirtualized guests. load_cr3 should call write_cr3() instead. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- include/asm-x86_64/mmu_context.h |2 +- 1 files

[PATCH 17/25] [PATCH] turn page operations into native versions

2007-08-08 Thread Glauber de Oliveira Costa
This patch turns the page operations (set and make a page table) into native_ versions. The operations itself will be later overriden by paravirt. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- include/asm-x86_64/page.h | 36

Re: [PATCH 5/25] [PATCH] native versions for system.h functions

2007-08-08 Thread Glauber de Oliveira Costa
Okay, this one is obviously wrong, my fault (it doesn't do what it says it does in the body of the e-mail. Resending... -- Glauber de Oliveira Costa. Free as in Freedom http://glommer.net The less confident you are, the more serious you have to act. arch/x86_64/kernel/tce.c|2 -

[PATCH 16/25] [PATCH] introducing paravirt_activate_mm

2007-08-08 Thread Glauber de Oliveira Costa
This function/macro will allow a paravirt guest to be notified we changed the current task cr3, and act upon it. It's up to them Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- include/asm-x86_64/mmu_context.h | 17

[PATCH 22/25] [PATCH] turn priviled operation into a macro

2007-08-08 Thread Glauber de Oliveira Costa
under paravirt, read cr2 cannot be issued directly anymore. So wrap it in a macro, defined to the operation itself in case paravirt is off, but to something else if we have paravirt in the game Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL

[PATCH 24/25] [PATCH] provide paravirt patching function

2007-08-08 Thread Glauber de Oliveira Costa
This patch introduces apply_paravirt(), a function that shall be called by i386/alternative.c to apply replacements to paravirt_functions. It is defined to an do-nothing function if paravirt is not enabled. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt

[PATCH 20/25] [PATCH] replace syscall_init

2007-08-08 Thread Glauber de Oliveira Costa
This patch replaces syscall_init by x86_64_syscall_init. The former will be later replaced by a paravirt replacement in case paravirt is on Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- arch/x86_64/kernel/setup64.c |8 +++-

[PATCH 19/25] [PATCH] time-related functions paravirt provisions

2007-08-08 Thread Glauber de Oliveira Costa
This patch add provisions for time related functions so they can be later replaced by paravirt versions. it basically encloses {g,s}et_wallclock inside the already existent functions update_persistent_clock and read_persistent_clock, and defines {s,g}et_wallclock to the core of such functions.

[PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-08 Thread Glauber de Oliveira Costa
This patch add paravirtualization hooks in the arch initialization process. paravirt_arch_setup() lets the guest issue any specific initialization routine, and skip all the rest if it see fits, which it signals by a proper return value. In case the initialization continues, we hook at least

[PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Glauber de Oliveira Costa
With paravirt on, we cannot issue operations like swapgs, sysretq, iretq, cli, sti. So they have to be changed into macros, that will be later properly replaced for the paravirt case. The sysretq is a little bit more complicated, and is replaced by a sequence of three instructions. It is

[PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Glauber de Oliveira Costa
This is finally, the patch we were all looking for. This patch adds a paravirt.h header with the definition of paravirt_ops struct. Also, it defines a bunch of inline functions that will replace, or hook, the other calls. Every one of those functions adds an entry in the parainstructions section

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Andi Kleen
+#define SYSRETQ \ + movq%gs:pda_oldrsp,%rsp;\ + swapgs; \ + sysretq; When the macro does more than sysret it should have a different name */

Re: [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks

2007-08-08 Thread Andi Kleen
@@ -264,13 +270,64 @@ struct thread_struct { set_fs(USER_DS); \ } while(0) -#define get_debugreg(var, register) \ - __asm__(movq %%db #register , %0\ - :=r

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-08 Thread Andi Kleen
-static void discover_ebda(void) +void native_ebda_info(unsigned *addr, unsigned *size) I guess it would be better to use the resources frame work here. Before checking EBDA check if it is already reserved. Then lguest/Xen can reserve these areas and stop using it. +/* Overridden in

Re: [PATCH 3/25] [PATCH] irq_flags / halt routines

2007-08-08 Thread Andi Kleen
+#ifdef CONFIG_PARAVIRT +#include asm/paravirt.h +# ifdef CONFIG_X86_VSMP +static inline int raw_irqs_disabled_flags(unsigned long flags) +{ + return !(flags X86_EFLAGS_IF) || (flags X86_EFLAGS_AC); +} +# else +static inline int raw_irqs_disabled_flags(unsigned long flags) +{ +

Re: [PATCH 13/25] [PATCH] turn msr.h functions into native versions

2007-08-08 Thread Andi Kleen
On Wednesday 08 August 2007 06:19, Glauber de Oliveira Costa wrote: +static __always_inline long long vget_cycles_sync(void) Why is there a copy of this function now? That seems wrong + native_read_tscp(p); The instruction is called rdtscp not read_tscp. Please follow that

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Andi Kleen
+config PARAVIRT + bool Paravirtualization support (EXPERIMENTAL) This should be hidden and selected by the clients as needed (I already did this change on i386) Users know nothing about paravirt, they just know about Xen, lguest etc. Strictly you would at least need a !X86_VSMP

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Steven Rostedt
Hi Andi, Thanks for all the comments, it's greatly appreciated. On Wed, 8 Aug 2007, Andi Kleen wrote: +#define SYSRETQ\ + movq%gs:pda_oldrsp,%rsp;\ + swapgs; \ +

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Steven Rostedt
On Wed, 8 Aug 2007, Andi Kleen wrote: Strictly you would at least need a !X86_VSMP dependency, but with the vsmp change i requested that will be unnecessary Is this really synced with the latest version of the i386 code? Glauber started the paravirt ops 64 a second time around, from scratch

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Steven Rostedt
On Wed, 8 Aug 2007, Andi Kleen wrote: Probably not, but this part of the code I don't fully understand. I would suggest to defer all this until at least one example to test it (except vsmp which is too simple) is around. Who uses that code? NMIs and debug regs? Lguest only has the host

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Steven Rostedt
-- On Wed, 8 Aug 2007, Andi Kleen wrote: Steven Rostedt [EMAIL PROTECTED] writes: On Wed, 8 Aug 2007, Andi Kleen wrote: Probably not, but this part of the code I don't fully understand. I would suggest to defer all this until at least one example to test it (except vsmp

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Andi Kleen
When I said this part of the code I don't fully understand I was not talking about entry.S. I understand entry.S very well, but the comment was originally on the paranoid_restore code. Which I thought had to deal with NMIs and such that I didn't worry about that I simply did the default.

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Andi Kleen
If you were talking about the general iretq = INTERRUPT_RETURN, then the answer is Yes, they are sufficient. The first version of lguest ran the guest kernel in ring 3 (using dual page tables for guest kernel and guest user). The current version I'm pushing runs lguest in ring 1, and the

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Glauber de Oliveira Costa
ENTRY adds alignment. Why do you need that export anyways? The paravirt ops struct points to it. But the paravirt_ops probably won't need it as an export. So I guess andi is right. -- Glauber de Oliveira Costa. Free as in Freedom http://glommer.net The less confident you are, the more

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Andi Kleen
On Wed, Aug 08, 2007 at 09:47:05AM -0400, Steven Rostedt wrote: /me working very hard to get lguest64 ready for public display Here's a snippet from my version of core.c. I've been thinking of ways to optimize it, but for now it works fine. This was done for both ring 3 and ring 1 lguest

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: -static void discover_ebda(void) +void native_ebda_info(unsigned *addr, unsigned *size) I guess it would be better to use the resources frame work here. Before checking EBDA check if it is already reserved. Then lguest/Xen can reserve these

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Andi Kleen
On Wednesday 08 August 2007 15:58:06 Glauber de Oliveira Costa wrote: On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: +#define SYSRETQ \ + movq%gs:pda_oldrsp,%rsp;\ + swapgs;

Re: [PATCH 23/25] [PATCH] paravirt hooks for arch initialization

2007-08-08 Thread Andi Kleen
On Wednesday 08 August 2007 16:08:25 Glauber de Oliveira Costa wrote: On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: -static void discover_ebda(void) +void native_ebda_info(unsigned *addr, unsigned *size) I guess it would be better to use the resources frame work here. Before

Re: [PATCH 3/25] [PATCH] irq_flags / halt routines

2007-08-08 Thread Andi Kleen
On Wednesday 08 August 2007 16:10:28 Glauber de Oliveira Costa wrote: On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: +#ifdef CONFIG_PARAVIRT +#include asm/paravirt.h +# ifdef CONFIG_X86_VSMP +static inline int raw_irqs_disabled_flags(unsigned long flags) +{ + return

Re: [PATCH 13/25] [PATCH] turn msr.h functions into native versions

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: On Wednesday 08 August 2007 06:19, Glauber de Oliveira Costa wrote: +static __always_inline long long vget_cycles_sync(void) Why is there a copy of this function now? That seems wrong Yeah, the other one is in i386 headers, so We probably wan't

Re: [PATCH 3/25] [PATCH] irq_flags / halt routines

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: On Wednesday 08 August 2007 16:10:28 Glauber de Oliveira Costa wrote: On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: +#ifdef CONFIG_PARAVIRT +#include asm/paravirt.h +# ifdef CONFIG_X86_VSMP +static inline int

Re: [PATCH 3/25] [PATCH] irq_flags / halt routines

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: +#ifdef CONFIG_PARAVIRT +#include asm/paravirt.h +# ifdef CONFIG_X86_VSMP +static inline int raw_irqs_disabled_flags(unsigned long flags) +{ + return !(flags X86_EFLAGS_IF) || (flags X86_EFLAGS_AC); +} +# else +static inline

Re: [PATCH 13/25] [PATCH] turn msr.h functions into native versions

2007-08-08 Thread Andi Kleen
The instruction is called rdtscp not read_tscp. Please follow that Although the operation consists in reading tscp. There is no tscp register -Andi ___ Virtualization mailing list Virtualization@lists.linux-foundation.org

Re: [PATCH 21/25] [PATCH] export cpu_gdt_descr

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Arjan van de Ven [EMAIL PROTECTED] wrote: On Wed, 2007-08-08 at 01:19 -0300, Glauber de Oliveira Costa wrote: With paravirualization, hypervisors needs to handle the gdt, that was right to this point only used at very early inialization code. Hypervisors are commonly modules, so

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: Is this really synced with the latest version of the i386 code? Roasted already commented on this. I will check out and change it here. +#ifdef CONFIG_PARAVIRT +#include asm/paravirt.h +#endif +#include linux/errno.h +#include

RE: Introducing paravirt_ops for x86_64

2007-08-08 Thread Nakajima, Jun
Glauber de Oliveira Costa wrote: Hi folks, After some time away from it, and a big rebase as a consequence, here is the updated version of paravirt_ops for x86_64, heading to inclusion. Your criticism is of course, very welcome. Have fun Do you assume that the kernel ougtht to use 2MB

Re: Introducing paravirt_ops for x86_64

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Nakajima, Jun [EMAIL PROTECTED] wrote: Glauber de Oliveira Costa wrote: Hi folks, After some time away from it, and a big rebase as a consequence, here is the updated version of paravirt_ops for x86_64, heading to inclusion. Your criticism is of course, very welcome.

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: Similar. I don't think so. They are live here, but restore_args follows, so we can safely clobber anything here. Right? The non argument registers cannot be clobbered. But they are not. Yeah, I ommited it in the changelog, (it is in a comment

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Steven Rostedt
-- On Wed, 8 Aug 2007, Andi Kleen wrote: On Wed, Aug 08, 2007 at 09:47:05AM -0400, Steven Rostedt wrote: [...] asm volatile (pushq %2; pushq %%rsp; pushfq; pushq %3; call *%6; /* The stack we pushed is off by 8, due to the previous pushq */

Re: [PATCH 25/25] [PATCH] add paravirtualization support for x86_64

2007-08-08 Thread Andi Kleen
On Thursday 09 August 2007 01:18:57 Rusty Russell wrote: On Wed, 2007-08-08 at 11:49 -0300, Glauber de Oliveira Costa wrote: On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: +EXPORT_SYMBOL(paravirt_ops); Definitely _GPL at least. Sure. We ended up making it EXPORT_SYMBOL in i386

RE: Introducing paravirt_ops for x86_64

2007-08-08 Thread Nakajima, Jun
Glauber de Oliveira Costa wrote: On 8/8/07, Nakajima, Jun [EMAIL PROTECTED] wrote: Glauber de Oliveira Costa wrote: Hi folks, After some time away from it, and a big rebase as a consequence, here is the updated version of paravirt_ops for x86_64, heading to inclusion. Your

Re: Introducing paravirt_ops for x86_64

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Nakajima, Jun [EMAIL PROTECTED] wrote: So, unless I'm very wrong, it only makes sense to talk about not supporting large pages in the guest level. But it is not a paravirt_ops problem. Some MMU-related PV techiniques (including Xen, and direct paging mode for Xen/KVM) need to

[PATCH 2/7] Added generic lg.h in lguest directory.

2007-08-08 Thread Steven Rostedt
Add a generic lg.h file to call the architecture specific one. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- drivers/lguest/lg.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/lguest/lg.h b/drivers/lguest/lg.h new file mode 100644 index 000..4c4356e

[PATCH 5/7] Change lguest launcher to use asm generic include

2007-08-08 Thread Steven Rostedt
Have the lguest launcher include e820.h via asm/e820.h instead of explicitly saying i386. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- Documentation/lguest/lguest.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Documentation/lguest/lguest.c

[PATCH 7/7] Move lguest_dma_info into generic lg.h

2007-08-08 Thread Steven Rostedt
The lguest_dma_info is also generic across architectures. Move it to the generic lg.h Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- drivers/lguest/i386/lg.h | 11 --- drivers/lguest/lg.h | 11 +++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git

[PATCH 1/7] Move lg.h to the i386 specific lguest directory

2007-08-08 Thread Steven Rostedt
Make a i386 directory in the lguest directory, and move the lg.h into it. This will clear the way for other archs to have their own lg.h Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- drivers/lguest/i386/lg.h | 300 ++ drivers/lguest/lg.h |

[PATCH 4/7] Moved the io struct up to the generic lg.h

2007-08-08 Thread Steven Rostedt
Move the io struct into the lg.h file since the io.c is generic to other architectures. Also added a proper ifdef for the generic lg.h. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- drivers/lguest/i386/lg.h | 11 ++- drivers/lguest/lg.h | 16 2 files

[PATCH 6/7] Remove __pa() use in hvc_lguest

2007-08-08 Thread Steven Rostedt
The hvc_lguest uses __pa in the const initialization. In some architectures, __pa() is not constant so this fails in compiles. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- drivers/char/hvc_lguest.c |8 +++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git

Re: [PATCH 5/7] Change lguest launcher to use asm generic include

2007-08-08 Thread Glauber de Oliveira Costa
--- a/Documentation/lguest/lguest.c +++ b/Documentation/lguest/lguest.c @@ -46,7 +46,7 @@ typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; #include ../../include/linux/lguest_launcher.h -#include ../../include/asm-i386/e820.h +#include ../../include/asm/e820.h Couldn't

Re: [PATCH 2/7] Added generic lg.h in lguest directory.

2007-08-08 Thread Stephen Rothwell
On Wed, 08 Aug 2007 20:32:13 -0400 Steven Rostedt [EMAIL PROTECTED] wrote: Add a generic lg.h file to call the architecture specific one. Please combine this with the previous patch so that the tree will build at each step. -- Cheers, Stephen Rothwell[EMAIL PROTECTED]

Re: [PATCH 4/7] Moved the io struct up to the generic lg.h

2007-08-08 Thread Stephen Rothwell
On Wed, 08 Aug 2007 20:32:15 -0400 Steven Rostedt [EMAIL PROTECTED] wrote: diff --git a/drivers/lguest/i386/lg.h b/drivers/lguest/i386/lg.h index 64f0abe..c5ea14c 100644 --- a/drivers/lguest/i386/lg.h +++ b/drivers/lguest/i386/lg.h @@ -20,6 +20,8 @@ #include linux/err.h #include

Re: [PATCH 2/7] Added generic lg.h in lguest directory.

2007-08-08 Thread Steven Rostedt
-- On Thu, 9 Aug 2007, Stephen Rothwell wrote: On Wed, 08 Aug 2007 20:32:13 -0400 Steven Rostedt [EMAIL PROTECTED] wrote: Add a generic lg.h file to call the architecture specific one. Please combine this with the previous patch so that the tree will build at each step. Yeah, I wanted

[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)

2007-08-08 Thread Steven Rostedt
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been

[PATCH 4/5 -v2] Added generic lg.h in the include/linux directory

2007-08-08 Thread Steven Rostedt
Add a generic lg.h that can be included from lguest files. This file will hold the data that can be shared across archs. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- arch/i386/kernel/asm-offsets.c|2 +- drivers/lguest/core.c |2 +-

[PATCH 2/5 -v2] Change lguest launcher to use asm generic include

2007-08-08 Thread Steven Rostedt
Have the lguest launcher include e820.h via asm/e820.h instead of explicitly saying i386. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] --- Documentation/lguest/lguest.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Documentation/lguest/lguest.c

Re: [PATCH 18/25] [PATCH] turn priviled operations into macros in entry.S

2007-08-08 Thread Jeremy Fitzhardinge
Steven Rostedt wrote: /* * x86 arch doesn't have an easy way to find out where * gs is located. So we need to read the MSR. But first * we need to save off the rcx, rax and rdx. Why don't you store it in gs? movq %gs:my_gs_base, %rax? J

Re: Introducing paravirt_ops for x86_64

2007-08-08 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: On 8/8/07, Nakajima, Jun [EMAIL PROTECTED] wrote: Glauber de Oliveira Costa wrote: Hi folks, After some time away from it, and a big rebase as a consequence, here is the updated version of paravirt_ops for x86_64, heading to

Re: [PATCH 5/5 -v2] Move the lguest files that are i386 specific

2007-08-08 Thread Stephen Rothwell
Hi Steven, On Thu, 09 Aug 2007 00:36:31 -0400 Steven Rostedt [EMAIL PROTECTED] wrote: Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic. Signed-off-by: Steven Rostedt

Re: [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks

2007-08-08 Thread Jeremy Fitzhardinge
Andi Kleen wrote: @@ -264,13 +270,64 @@ struct thread_struct { set_fs(USER_DS); \ } while(0) -#define get_debugreg(var, register) \ -__asm__(movq %%db #register , %0\ -

Re: [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks

2007-08-08 Thread Glauber de Oliveira Costa
On 8/8/07, Andi Kleen [EMAIL PROTECTED] wrote: @@ -264,13 +270,64 @@ struct thread_struct { set_fs(USER_DS); \ } while(0) -#define get_debugreg(var, register) \ - __asm__(movq %%db

Re: [PATCH 7/25] [PATCH] interrupt related native paravirt functions.

2007-08-08 Thread Jeremy Fitzhardinge
Glauber de Oliveira Costa wrote: The interrupt initialization routine becomes native_init_IRQ and will be overriden later in case paravirt is on. The interrupt vector is made global, so paravirt guests can reference it in their initializations. Why? And if so, wouldn't it be better to add