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

2007-08-09 Thread Steven Rostedt
-- On Wed, 8 Aug 2007, Jeremy Fitzhardinge wrote: > 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 g

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 - To unsubscribe

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 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

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 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 lgues

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: > > 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

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 mo

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

2007-08-08 Thread Glauber de Oliveira Costa
Thank you for the attention, andi let's go: On 8/8/07, Andi Kleen <[EMAIL PROTECTED]> wrote: > > > +#define SYSRETQ \ > > + movq%gs:pda_oldrsp,%rsp;\ > > + swapgs; \ > > +

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: > > 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 curren

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 th

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 > defaul

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

2007-08-08 Thread Steven Rostedt
On Wed, 8 Aug 2007, Steven Rostedt wrote: > On Wed, 8 Aug 2007, Andi Kleen wrote: > > >> paranoid_restore\trace: > >> RESTORE_ALL 8 > >> - iretq > >> + INTERRUPT_RETURN > > > >I suspect Xen will need much more changes anyways because of its > >ring 3 guest. Are these changes suffic

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

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

2007-08-08 Thread Andi Kleen
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 which is too simple) is around. > > Wh

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 h

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

2007-08-08 Thread Andi Kleen
> 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. -Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to

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 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 > */ >