[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.