All of lore.kernel.org
 help / color / mirror / Atom feed
* Any available page table entry bits in Xen??
@ 2008-10-18 16:44 Min Lee
  2008-10-19  2:14 ` Mike Sun
       [not found] ` <e4e579070810181904l17c656acwf3821800f15cdcac@mail.gmail.com>
  0 siblings, 2 replies; 4+ messages in thread
From: Min Lee @ 2008-10-18 16:44 UTC (permalink / raw)
  To: Xen-devel

Hi, I'm working on Xen 3.2.1 and
I'd like to know if there's any available bit in page table entries, on 
x86_32 (no pae),
especially on L1 page table entry. It seems to me that all bits are used 
by Xen.
Xen disallows all AVAIL bits and PCD/PWT/PAT bits to their guest and use 
them all?
I've tried PCD/PWT/AVAIL bits but I couldn't find any availables. 
(didn't try PAT)
Or it was my mistake?
I'd like to know exactly what bits in page table I can safely and 
exclusively use in Xen..
Any available bit in page table entry or ideas?
thank you in advance!!

Min

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Any available page table entry bits in Xen??
  2008-10-18 16:44 Any available page table entry bits in Xen?? Min Lee
@ 2008-10-19  2:14 ` Mike Sun
       [not found] ` <e4e579070810181904l17c656acwf3821800f15cdcac@mail.gmail.com>
  1 sibling, 0 replies; 4+ messages in thread
From: Mike Sun @ 2008-10-19  2:14 UTC (permalink / raw)
  To: Xen-devel

Hi Min,

> I'd like to know if there's any available bit in page table entries, on
> x86_32 (no pae),
> especially on L1 page table entry. It seems to me that all bits are used by
> Xen.

Could you clarify?  Are you referring to PTEs for para-virtualized
guests (without translation) or fully translated domains like HVM
guest with shadow paging?

I think for PV guests you're right, the PV guest OS cannot use of the
bits in the PTE.  Some of those bits are used by Xen (though somehow I
vaguely remember that though Xen reserves the use of those bits, they
may not actually be used).

For HVM guests, the guest PTEs will carry whatever the guest OS uses,
and in the shadow PTEs, I believe there are some bits not used by Xen
(not totally sure).

Mike

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Any available page table entry bits in Xen??
       [not found] ` <e4e579070810181904l17c656acwf3821800f15cdcac@mail.gmail.com>
@ 2008-10-19  9:07   ` Min Lee
       [not found]     ` <e4e579070810201951o479fd5c3j176a067918722e49@mail.gmail.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Min Lee @ 2008-10-19  9:07 UTC (permalink / raw)
  To: Mike Sun; +Cc: Xen-devel

Mike Sun wrote:
> Hi Min,
> 
>> I'd like to know if there's any available bit in page table entries, on
>> x86_32 (no pae),
>> especially on L1 page table entry. It seems to me that all bits are used by
>> Xen.
> 
> Could you clarify?  Are you referring to PTEs for para-virtualized
> guests (without translation) or fully translated domains like HVM
> guest with shadow paging?
> 
> I think for PV guests you're right, the PV guest OS cannot use of the
> bits in the PTE.  Some of those bits are used by Xen (though somehow I
> vaguely remember that though Xen reserves the use of those bits, they
> may not actually be used).
> 
> For HVM guests, the guest PTEs will carry whatever the guest OS uses,
> and in the shadow PTEs, I believe there are some bits not used by Xen
> (not totally sure).
> 
> Mike
> 

Hi, right, I'm talking about PV guest.
I'm working on 3.2.1 and xen disallow some bits as following..


/*
  * Disallow unused flag bits plus PAT/PSE, PCD, PWT and GLOBAL.
  * Permit the NX bit if the hardware supports it.
  */
#define BASE_DISALLOW_MASK (0xFFFFF198U & ~_PAGE_NX)


(snipped from include/asm/x86_32/page.h..
What this comment means? It only disallows GLOBAL/PAT/PCD/PWT bits,
so what is unused flag bits? It does't disallows AVAIL012 bits..
This is quite confusing comments.)

So first, I've disallowed all three AVAIL bits, and Linux doesn't boot 
well, it seems to use one of these AVAIL bits, so I could disallow two 
AVAIL bits with my Linux still booting up. So I thought I would be able 
to use these two AVAIL bits, which I'll work with.
But, I found that these two AVAIL bits change during Linux's boot time!
It's disallowed, so it must be Xen who have used these two bits, I guess.
But I don't really see any piece of code in Xen modifying AVAIL bits!
Xen doesn't seem to be using AVAIL bits except AVAIL2 for debugging 
purpose, which is disabled. So, then, who is touching my AVAIL bits???
Moreover, after Linux's boot time, nobody seems to use these two AVAIL 
bits..

Another question, I'd also like to use other bits -> GLOBAL/PAT/PCD/PWT 
bits, so how could I use them in xen?
For GLOBAL bit, I would be able to use it freely as long as PGE flag in 
CR4 is disabled, right?
Also for PAT/PCD/PWT bits, I guess I would be able to use them under 
some specific conditions..
thanks!

Min

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Any available page table entry bits in Xen??
       [not found]     ` <e4e579070810201951o479fd5c3j176a067918722e49@mail.gmail.com>
@ 2008-10-21  4:37       ` Min Lee
  0 siblings, 0 replies; 4+ messages in thread
From: Min Lee @ 2008-10-21  4:37 UTC (permalink / raw)
  To: Mike Sun; +Cc: Xen-devel

Hi,
I've digged more, and I could successfully use two AVAIL bits in PTEs,
Actually xen doesn't use AVAIL bits, and Linux doesn't use (all of) 
them, either. Good so far, but still some issues still remains, but I'm 
working on it but I think I can handle it.
Anyway, thanks, Mike. :)

Min

Mike Sun wrote:
>> Hi, right, I'm talking about PV guest.
>> I'm working on 3.2.1 and xen disallow some bits as following..
> 
> Hmm, I'm not so familiar with PV guests in 3.2.x.  Let me try and take
> a look and see if I can get back to you.
> 
> Mike
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-10-21  4:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-18 16:44 Any available page table entry bits in Xen?? Min Lee
2008-10-19  2:14 ` Mike Sun
     [not found] ` <e4e579070810181904l17c656acwf3821800f15cdcac@mail.gmail.com>
2008-10-19  9:07   ` Min Lee
     [not found]     ` <e4e579070810201951o479fd5c3j176a067918722e49@mail.gmail.com>
2008-10-21  4:37       ` Min Lee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.