Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 879241 Details for
Bug 1081262
Fix booting FreeBSD VMs
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
fix thats applied in Debian
vgabios-attempt-to-detect-old-x86emu-and-force-a-fault.diff (text/plain), 2.40 KB, created by
Matthias Clasen
on 2014-03-26 22:21:54 UTC
(
hide
)
Description:
fix thats applied in Debian
Filename:
MIME Type:
Creator:
Matthias Clasen
Created:
2014-03-26 22:21:54 UTC
Size:
2.40 KB
patch
obsolete
>From: Kevin O'Connor <kevin@koconnor.net> >Date: Wed Feb 5 22:47:29 2014 -0500 >Subject: vgabios: Attempt to detect old x86emu and force a fault. >Upstream-Commit: 8032b8a0fec550de5cb2f7d37aa031cebc2200c3 >Bug-Debian: http://bugs.debian.org/737142 > >Check for cases where the leal instruction does not work. This >instruction is known to not be emulated properly on old versions of >x86emu. If a broken version of x86emu is found, force a fault that >x86emu will easily detect. This should help prevent soft failures >when running old software. > >Signed-off-by: Kevin O'Connor <kevin@koconnor.net> > >diff --git a/vgasrc/vgaentry.S b/vgasrc/vgaentry.S >index 9854448..6e31c4e 100644 >--- a/vgasrc/vgaentry.S >+++ b/vgasrc/vgaentry.S >@@ -45,9 +45,26 @@ _rom_header_signature: > * Entry points > ****************************************************************/ > >- // This macro is the same as ENTRY_ARG except the "calll" >- // instruction is avoided to work around known issues in the >- // emulation of some versions of x86emu. >+ // Force a fault if found to be running on broken x86emu versions. >+ DECLFUNC x86emu_fault >+x86emu_fault: >+1: hlt >+ jmp 1b >+ >+ // This macro implements a call while avoiding instructions >+ // that old versions of x86emu have problems with. >+ .macro VGA_CALLL cfunc >+ // Make sure leal instruction works. >+ movl $0x8000, %ecx >+ leal (%ecx, %ecx, 1), %ecx >+ cmpl $0x10000, %ecx >+ jne x86emu_fault >+ // Use callw instead of calll >+ push %ax >+ callw \cfunc >+ .endm >+ >+ // This macro is the same as ENTRY_ARG except VGA_CALLL is used. > .macro ENTRY_ARG_VGA cfunc > cli > cld >@@ -57,7 +74,7 @@ _rom_header_signature: > movl %esp, %ebx // Backup %esp, then zero high bits > movzwl %sp, %esp > movl %esp, %eax // First arg is pointer to struct bregs >- pushw %ax ; callw \cfunc >+ VGA_CALLL \cfunc > movl %ebx, %esp // Restore %esp (including high bits) > POPBREGS > .endm >@@ -103,7 +120,7 @@ entry_10_extrastack: > movw %ds, %dx // Setup %ss/%esp and call function > movw %dx, %ss > movl %eax, %esp >- pushw %ax ; callw handle_10 >+ VGA_CALLL handle_10 > > movl %esp, %eax // Restore registers and return > movw BREGS_size+4(%eax), %ss
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1081262
: 879241 |
879242