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

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



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


 


Rackspace

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