qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [Bug 796202] [NEW] Doing a 64 bit load from a 32 bit local


From: Robert Uhl
Subject: [Qemu-devel] [Bug 796202] [NEW] Doing a 64 bit load from a 32 bit local APIC register is allowed
Date: Sun, 12 Jun 2011 13:03:57 -0000

Public bug reported:

Doing

u64 lapic_idregister = (u64) fix_to_virt(FIX_APIC_BASE) + 0x20;

and later in an interrupt handler

movq (lapic_idregister), %rcx
movq (%rcx), %rcx

in a linux kernel module works in qemu 0.13.91 but not on real hardware (it 
simply reboots).
On real hardware only

movl (%rcx), %ecx

works (also in qemu).

Commandline:
qemu-system-x86_64 \
                -kernel $LINUXDIR/arch/x86_64/boot/bzImage \
                -hda $BUILDROOTDIR/output/images/rootfs.ext2 \
                -append "root=/dev/sda rw rootfstype=ext2 maxcpus=4" \
                -cpu phenom \
                -smp 4 \
                -gdb tcp::1234 \
                -net nic -net user

Guest:
Vanilla Linux Kernel 2.6.37.6 64-bit with buildroot

Mikael Pettersson from the linux kernel mailinglist told me it's an
accepts-invalid bug in qemu.

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/796202

Title:
  Doing a 64 bit load from a 32 bit local APIC register is allowed

Status in QEMU:
  New

Bug description:
  Doing

  u64 lapic_idregister = (u64) fix_to_virt(FIX_APIC_BASE) + 0x20;

  and later in an interrupt handler

  movq (lapic_idregister), %rcx
  movq (%rcx), %rcx

  in a linux kernel module works in qemu 0.13.91 but not on real hardware (it 
simply reboots).
  On real hardware only

  movl (%rcx), %ecx

  works (also in qemu).

  Commandline:
  qemu-system-x86_64 \
                -kernel $LINUXDIR/arch/x86_64/boot/bzImage \
                -hda $BUILDROOTDIR/output/images/rootfs.ext2 \
                -append "root=/dev/sda rw rootfstype=ext2 maxcpus=4" \
                -cpu phenom \
                -smp 4 \
                -gdb tcp::1234 \
                -net nic -net user

  Guest:
  Vanilla Linux Kernel 2.6.37.6 64-bit with buildroot

  Mikael Pettersson from the linux kernel mailinglist told me it's an
  accepts-invalid bug in qemu.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/796202/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]