WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] xen and cr0,cr3,cr4

To: Adam Sulmicki <adam@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] xen and cr0,cr3,cr4
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Sun, 28 Nov 2004 20:19:55 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Sun, 28 Nov 2004 20:21:19 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
In-reply-to: Your message of "Sun, 28 Nov 2004 11:33:01 EST." <20041128110502.C12219-100000@xxxxxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
All accesses to control registers, whether read or write, are
disallowed outside ring 0. There is no way to allow such accesses so,
yes, they would hve to indirect thru Xen.

You should know the value in %cr3 anyway. Why do you need to read %cr0
and %cr4?

 -- Keir

> 
> hello,
>       As I understand _writing_ cr{0,3,4} would be privileged
>       operationg. However, I would tend to think that _reading_ them
>       should be not.
> 
>       It seems like I'm getting ooops when I'm trying to read CRx
>       under linux in dom0 under xen.
> 
>       Is that indeed case?
> 
>       If yes, I suppose I can somehow get around this using hypercalls
>       from inside of xenolinux dom0.
> 
> ==============================================================================
> Entering PAGE module -- init_module():start
> $Id: page-init.c,v 1.4 2004/11/27 21:36:11 sulmicki Exp sulmicki $
> Entering memory_map().
> PAGE OFFSET    : 0xC0000000 = 3GiB
> CPUID(EAX=1)EDX: 0x0383FBFF = 0000 0011 1000 0011 1111 1011 1111 1111  : 'PSE'
> About to read CR0
> general protection fault: 0000 [#2]
> PREEMPT
> Modules linked in: pagemap_2 pagemap_1 ds yenta_socket pcmcia_core e100
> CPU:    0
> EIP:    0061:[<c4850142>]    Not tainted
> EFLAGS: 00013297   (2.6.8.1-xen0)
> EIP is at my_show_regs+0x2f/0x101 [pagemap_2]
> eax: ffffff82   ebx: c0336778   ecx: 0007a11f   edx: ffffff82
> esi: c4851000   edi: c2e36000   ebp: 00000000   esp: c2e37f30
> ds: 0069   es: 0069   ss: 0069
> Process insmod (pid: 9356, threadinfo=c2e36000 task=c13ee6b0)
> Stack: c4850a04 c0336778 c0336778 c4850258 00000001 c0000000 00000003 c2e37f58
>        c02ee921 00000000 ffffffba c011d8b0 00000000 000018c8 c03ac103 00000000
>        00000043 c0336760 c011d6f4 0000000a 00000400 c4850864 c0336778
> c4851000
> Call Trace:
>  [<c4850258>] memory_map+0x44/0x620 [pagemap_2]
>  [<c02ee921>] preempt_schedule+0x29/0x42
>  [<c011d8b0>] release_console_sem+0x113/0x12d
>  [<c011d6f4>] printk+0x148/0x1ad
>  [<c4850027>] init_module+0x27/0x39 [pagemap_2]
>  [<c0133b40>] sys_init_module+0x115/0x25e
>  [<c010d52b>] syscall_call+0x7/0xc
> 
> Code: 0f 20 c3 89 d0 e6 80 e6 80 83 e9 01 79 f5 c7 04 24 17 0a 85
> ==============================================================================
>     printk("About to read CR0\n");
>     for (i=0;i<500000;i++) outb_p(0x82,0x80);
>     __asm__("movl %%cr0, %0": "=r" (cr0));
>     for (i=0;i<500000;i++) outb_p(0x82,0x80);
>     printk("Just read CR0\n");
> ==============================================================================
> Linux redbull 2.6.8.1-xen0 #9 Sun Oct 31 11:05:07 MST 2004 i686 i686 i386 
> GNU/Linux
> ==============================================================================
> 
> 
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now. 
> http://productguide.itmanagersjournal.com/
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/xen-devel



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel