Bug 437358 (XenPvops32emu)
Summary: | F-10 pv_ops xen: Add ia32 emulation | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Eduardo Habkost <ehabkost> |
Component: | kernel-xen | Assignee: | Eduardo Habkost <ehabkost> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 9 | CC: | bjorn.sund, markmc, mb--redhat, orion, xen-maint |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | 2.6.25.3-2.fc9 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2008-06-16 23:32:12 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 442569 | ||
Attachments: |
Description
Eduardo Habkost
2008-03-13 17:29:02 UTC
ia32 emulation will be temporarily disabled on x86_64 kernel-xen until this bug is fixed. Basically, this means that ia32 binaries don't work on x86_64 xen right now. We're not sure yet whether we'll get this fixed by GA. Looks like we'll have to punt this to F10 (or a post GA F9 update) *** Bug 442685 has been marked as a duplicate of this bug. *** bug #442685 details how not having ia32 emulation means that guest installs hang at the very end when grub (a 32 bit binary) can't be executed ... This is less critical than it sounds - pygrub doesn't require grub-install to have been run, so when the install hangs you should be able to reboot without any problems. Very annoying, though. The experimental code on the ia32emu-dev[1] branch on xen-pvops-64.git is able to run simple ia32 binaries, but it is not completely stable. nash segfaults when loading a 32-bit initrd and the kernel oopses when booting using a 64-bit initrd and 32-bit root filesystem. It is able to run grub, though. :) [1] http://git.et.redhat.com/?p=xen-pvops-64.git;a=shortlog;h=ia32emu-dev Okay, these look fairly sane to me - the changes are: - always use int80 for ia32 syscalls, never sysenter - handle the different stack format for int80 entry under xen - use pv_ops irq_enable/disable in ia32 syscall asm I'll give them a test tomorrow, but if it looks like it fixes grub-install on x86_64 and doesn't cause any other regressions, then I think we should include them. Created attachment 302774 [details]
0001-ia32entry.S-Replace-cli-sti-cases-with-DISABLE_INTE.patch
Created attachment 302775 [details]
0002-Introduce-xen_ia32_syscall.patch
Created attachment 302776 [details]
0003-Use-xen_ia32_syscall-if-CONFIG_XEN-is-enabled-FIX.patch
Created attachment 302777 [details]
0004-Make-the-int80-and-syscall-vdso32-implementations-se.patch
Created attachment 302778 [details]
0005-Use-vdso32-int80-by-default-if-Xen-is-enabled-FIXME.patch
The risk of enabling ia32 emulation as it is now is security: it is very easy to Oops the kernel when running ia32 binaries. Okay, that's a fair point I've reopened bug #442685, and am putting back on the F10_XenPvOps tracker for now Would it be possible to add a command line argument to enable ia32 emulation? That way installs could be run with it, but then turned off for normal operation. Got it a little better with an additional fix. Now, half of the initscripts from a 32-bit filesystem image run, but with random segfaults and hangs. http://git.et.redhat.com/?p=xen-pvops-64.git;a=commit;h=c7e49e971a9d27e196550979a7c3fea36f887473 Changing version to '9' as part of upcoming Fedora 9 GA. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping *** Bug 448465 has been marked as a duplicate of this bug. *** Pulled in Eduardo's patches from here: http://git.et.redhat.com/?p=xen-pvops-64.git;a=commit;h=e1bc320d3f1713f0964c70adf15971295a298f27 and re-enabled CONFIG_IA32_EMULATION Will be in kernel-xen-2.6-2.6.25.2-4.fc10 and kernel-xen-2.6-2.6.25.3-2.fc9 * Thu May 29 2008 Mark McLoughlin <markmc> - Enable ia32 emulation (ehabkost, #437358) kernel-xen-2.6-2.6.25.3-2.fc9 has been submitted as an update for Fedora 9 Thanks, that seems to have fixed it (bug 448465, installing glibc.i686) for me. (In reply to comment #21) > Thanks, that seems to have fixed it (bug 448465, installing glibc.i686) for me. Thanks for testing; could you bump the update's karma here: https://admin.fedoraproject.org/updates/F9/pending/kernel-xen-2.6-2.6.25.3-2.fc9 *** Bug 451520 has been marked as a duplicate of this bug. *** kernel-xen-2.6-2.6.25.3-2.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report. |