[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] Xen-aware kernel module
- To: "Steven Y. Ko" <sko@xxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
- From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
- Date: Wed, 21 Nov 2007 07:54:13 +0000
- Delivery-date: Tue, 20 Nov 2007 23:49:08 -0800
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
- Thread-index: AcgsE7TW83m/pZgGEdydcAAWy6hiGQ==
- Thread-topic: [Xen-devel] Xen-aware kernel module
Since this code will be x86-specific anyway, you can use inline asm:
unsigned long ring;
asm ( "push %cs; pop %0; and $3,%0" : "=r" (ring) );
Or perhaps just look at the KERNEL_CS macro.
On 21/11/07 00:30, "Steven Y. Ko" <sko@xxxxxxxxxxx> wrote:
> (I'm not sure if this is an appropriate place to ask this question. I
> apologize, if it's not)
> I'm trying to write a kernel module, that's sort of Xen-aware (or
> virtualisation-aware). I say "sort of", because what I actually need
> is checking the ring. Specifically, in my kernel module, I want to
> check which ring the code is running on (ring0, ring1, or even ring
> 3!), and behave differently. Does Xen provide any interface to do it?
> or is there any way to do it in a kernel module? Thanks for any help.
> Xen-devel mailing list
Xen-devel mailing list