summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Marshall <mark.marshall@csr.com>2009-11-05 09:09:20 +0000
committerStefan Reinauer <stepan@openbios.org>2009-11-05 09:09:20 +0000
commit448509bb4e93b3ffe870f048c6b4a82b1f2cb9a7 (patch)
tree1d3b263ca70034a7ae305f26a205e68b827c8559
parentd08e69dd5e8fdddcef10b31dea223a9b2fd70d94 (diff)
downloadcoreboot-448509bb4e93b3ffe870f048c6b4a82b1f2cb9a7.tar.xz
Get the passed in Bus/Device/Function from the correct location on the
stack. Signed-off-by: Mark Marshall <mark.marshall@csr.com> Clarified the comment and Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4911 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--util/x86emu/x86_asm.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/util/x86emu/x86_asm.S b/util/x86emu/x86_asm.S
index c41e39dc18..5e2518c695 100644
--- a/util/x86emu/x86_asm.S
+++ b/util/x86emu/x86_asm.S
@@ -68,8 +68,10 @@ __run_optionrom = RELOCATED(.)
/* Get devfn into %ecx */
movl %esp, %ebp
- // FIXME: Should this function be called with regparm=0?
- movl 8(%ebp), %ecx
+ /* This function is called with regparm=0 and we have
+ * to skip the 32 byte from pushal:
+ */
+ movl 36(%ebp), %ecx
/* Activate the right segment descriptor real mode. */
ljmp $0x28, $RELOCATED(1f)