Bug 439010 - Fails to boot rawhide pvops xen kernels
Summary: Fails to boot rawhide pvops xen kernels
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: xenner
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Gerd Hoffmann
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PvOpsTracker
TreeView+ depends on / blocked
 
Reported: 2008-03-26 15:10 UTC by Jeremy Katz
Modified: 2008-08-02 23:40 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-04-10 14:18:59 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
command output (9.29 KB, text/plain)
2008-03-26 15:10 UTC, Jeremy Katz
no flags Details

Description Jeremy Katz 2008-03-26 15:10:20 UTC
Fails to boot rawhide pvops kernels.  Output is attached

sudo xenner -hda ~/images/rawhide.img -kernel
~/trees/rawhide/i386/images/xen/vmlinuz  -initrd
~/trees/rawhide/i386/images/xen/initrd.img -m 512 2>&1 |tee ~/Desktop/xenner.out

Comment 1 Jeremy Katz 2008-03-26 15:10:20 UTC
Created attachment 299169 [details]
command output

Comment 2 Mark McLoughlin 2008-03-26 16:44:09 UTC
I take it this is with kernel-xen-2.6.25-0.4.rc6.fc9xen ?

Looks like xenner needs to handle clts now:

[emu/0] <0>instr emu failed: rip c0402feb bytes 0f 06 5d c3  55 89 e5 0f

(gdb) l *0xc0402feb
0xc0402feb is in native_clts (include/asm/system.h:153).
148             return __limit+1;
149     }
150
151     static inline void native_clts(void)
152     {
153             asm volatile ("clts");

Could be e.g. math_state_restore(). Compare 2.6.25-rc6:

asmlinkage void math_state_restore(void)
{
        struct thread_info *thread = current_thread_info();
        struct task_struct *tsk = thread->task;

        clts();         /* Allow maths ops (or we recurse) */

to linux-2.6.18-xen.hg:

asmlinkage void math_state_restore(struct pt_regs regs)
{
        struct thread_info *thread = current_thread_info();
        struct task_struct *tsk = thread->task;

        /* NB. 'clts' is done for us by Xen during virtual trap. */


Comment 3 Gerd Hoffmann 2008-04-08 13:18:22 UTC
Good spotting, 0f 06 is clts indeed.


Comment 4 Gerd Hoffmann 2008-04-09 11:47:40 UTC
https://koji.fedoraproject.org/koji/taskinfo?taskID=559297
Does that one work for you?

Comment 5 Jeremy Katz 2008-04-09 14:31:38 UTC
It gets further (to the point I had gotten to with my hacked up tree before
getting distracted by something shiny; the xenner code was surprisingly easy for
me to follow and work on which made me happy :-)

Kernel messages at failure are
Checking if this processor honours the WP bit even in supervisor mode...<1>BUG:
unable to handle kernel paging request at ffffffda
IP: [<c08132e8>] hypercall_page+0x2e8/0x1000
*pdpt = 0000000000805001 *pde = 0000000000000000 
Oops: 0002 [#1] SMP 
Modules linked in:

Pid: 0, comm: swapper Not tainted (2.6.25-0.18.rc8.fc9.i686.xen #1)
EIP: 0061:[<c08132e8>] EFLAGS: 00010286 CPU: 0
EIP is at hypercall_page+0x2e8/0x1000
EAX: ffffffda EBX: f4ffe000 ECX: 00000000 EDX: f57fd000
ESI: f5451000 EDI: 0000092e EBP: c0779f78 ESP: c0779f68
 DS: e021 ES: e021 FS: 00d8 GS: 0000 SS: e021
Process swapper (pid: 0, ti=c0779000 task=c073c460 task.ti=c0779000)
Stack: 00000001 c041d73c 0000e019 00010206 c0779fa8 c079049f 00000025 80000000 
       c06e8517 000004b4 00000248 0000269a f4ffe000 00000020 c080fa8c c2942a8c 
       c0779fd4 c077e8b9 3f840000 00013ea3 c2945000 00052000 0004fa8c c07a780c 
Call Trace:
 [<c041d73c>] ? do_test_wp_bit+0x1c/0x1e
 [<c079049f>] ? mem_init+0x2dc/0x329
 [<c077e8b9>] ? start_kernel+0x2ca/0x36d
 [<c0784317>] ? xen_start_kernel+0x32c/0x334
 =======================
Code: 00 00 00 b8 16 00 00 00 cd 82 c3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 50 b8 17 00 00 00 cd 82 <00> 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 
EIP: [<c08132e8>] hypercall_page+0x2e8/0x1000 SS:ESP e021:c0779f68
---[ end trace ca143223eefdc828 ]---


And the xenner output (from boot on)
[xenner,1] vcpu_thread/0: start
[xenner,1] setup_regs: 32bit
[emu/0] <0>this is emu32 (xenner 0.28), boot cpu #0
[emu/0] <1>cpu_alloc: cpu 0
[emu/0] <1>cpu_init: cpu 0
[emu/0] <1>pv_init: cpu 0, signature "KVMKVMKVM", features 0x00000000:
[emu/0] <1>emu32: boot cpu setup done
[emu/0] <1>emu32: paging setup done
[emu/0] <1>lapic_init: no lapic present
[emu/0] <1>emu32: irq setup done
[emu/0] <1>emu32: booting guest kernel (entry e019:c077e000) ...
[emu/0] <1>vm_assist: enable 0
[emu/0] <1>vm_assist: enable 2
[emu/0] <1>vm_assist: enable 3
[xenner,0] vcpu_op/0: FIXME: unknown 10 (register_vcpu_info)
[emu/0] <1>mmuext_op: SET_LDT (va 0, nr 0)
[emu/0] <1>emulate: ignore cr0 update:
[emu/0] <1>request: PE MP +TS ET NE WP AM PG
[xenner,0] unhandled xen hypercall #23 (32/pae, iret)


Comment 6 Gerd Hoffmann 2008-04-09 16:57:33 UTC
Oh, ok.  That looks like a bit more work to make things fly.
Three bugs / unimplemented features in the last five xenner log lines.
I'll have a deeper look next days.

Comment 7 Gerd Hoffmann 2008-04-10 11:18:09 UTC
Can you test https://koji.fedoraproject.org/koji/taskinfo?taskID=560811 please?
That one processes up to the "can't mount root device" panic for me.



Comment 8 Jeremy Katz 2008-04-10 14:18:59 UTC
Yep, that gets me into userspace


Note You need to log in before you can comment on or make changes to this bug.