qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: bochs-developers@lists.sourceforge.net
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v3 4/6] Execute rombios32 code from rom address 0xe0000.
Date: Mon, 10 Nov 2008 11:11:54 +0200	[thread overview]
Message-ID: <20081110091154.11822.61139.stgit@dhcp-1-237.local> (raw)
In-Reply-To: <20081110091134.11822.34230.stgit@dhcp-1-237.local>

Signed-off-by: Gleb Natapov <gleb@redhat.com>
---

 bios/Makefile.in      |    1 +
 bios/rombios.c        |   17 +----------------
 bios/rombios32.ld     |   10 ++++------
 bios/rombios32start.S |    9 ++++++++-
 4 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/bios/Makefile.in b/bios/Makefile.in
index b055910..af674b4 100644
--- a/bios/Makefile.in
+++ b/bios/Makefile.in
@@ -106,6 +106,7 @@ rombios32.o: rombios32.c acpi-dsdt.hex
 ifeq ("1", "0")
 acpi-dsdt.hex: acpi-dsdt.dsl
 	iasl -tc -p $@ $<
+	sed -i -e's/^unsigned/const unsigned/' $@
 endif
 
 rombios32start.o: rombios32start.S
diff --git a/bios/rombios.c b/bios/rombios.c
index 7330173..630cfd2 100644
--- a/bios/rombios.c
+++ b/bios/rombios.c
@@ -10032,13 +10032,6 @@ rombios32_05:
   mov gs, ax
   cld
 
-  ;; copy rombios32 code to ram (ram offset = 1MB)
-  mov esi, #0xfffe0000
-  mov edi, #0x00040000
-  mov ecx, #0x10000 / 4
-  rep
-    movsd
-
   ;; init the stack pointer
   mov esp, #0x00080000
 
@@ -10047,17 +10040,9 @@ rombios32_05:
   push #0x04b2
 
   ;; call rombios32 code
-  mov eax, #0x00040000
+  mov eax, #0x000e0000
   call eax
 
-  ;; reset the memory (some boot loaders such as syslinux suppose
-  ;; that the memory is set to zero)
-  mov edi, #0x00040000
-  mov ecx, #0x40000 / 4
-  xor eax, eax
-  rep
-    stosd
-
   ;; return to 16 bit protected mode first
   db 0xea
   dd rombios32_10
diff --git a/bios/rombios32.ld b/bios/rombios32.ld
index c7f6066..ff765c8 100644
--- a/bios/rombios32.ld
+++ b/bios/rombios32.ld
@@ -3,14 +3,12 @@ OUTPUT_ARCH(i386)
 ENTRY(_start);
 SECTIONS
 {
-        . = 0x00040000;
+        . = 0x000e0000;
         .text     : { *(.text)    }
-        .rodata    : { *(.rodata) }
-        . = ALIGN(4096);
-        .data     : { *(.data)    }
-        __bss_start = . ;
-        .bss      : { *(.bss) *(COMMON) }
+        .rodata    : { *(.rodata*) }
         _end = . ;
+        .data 0x700 : AT (_end) { __data_start = .; *(.data); __data_end = .;}
+        .bss      : { __bss_start = .; *(.bss) *(COMMON); __bss_end = .;}
         /DISCARD/ : { *(.stab)
                      *(.stabstr)
                      *(.comment)
diff --git a/bios/rombios32start.S b/bios/rombios32start.S
index 601e2b0..1900261 100644
--- a/bios/rombios32start.S
+++ b/bios/rombios32start.S
@@ -32,10 +32,17 @@ _start:
   /* clear bss section */
   xor %eax, %eax
   mov $__bss_start, %edi
-  mov $_end, %ecx
+  mov $__bss_end, %ecx
   sub %edi, %ecx
   rep stosb
 
+  /* copy data section */
+  mov $_end, %esi
+  mov $__data_start, %edi
+  mov $__data_end, %ecx
+  sub %edi, %ecx
+  rep movsb
+
   jmp rombios32_init
 
   .code16

  parent reply	other threads:[~2008-11-10  9:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-10  9:11 [Qemu-devel] [PATCH v3 0/6] Support for S3 ACPI state (suspend to memory) in BIOS Gleb Natapov
2008-11-10  9:11 ` [Qemu-devel] [PATCH v3 1/6] Move PIC initialization out of line to save space in post code area Gleb Natapov
2008-11-13  0:10   ` [Qemu-devel] Re: [Bochs-developers] [PATCH v3 1/6] Move PIC initialization out ofline " Sebastian Herbszt
2008-11-13 19:15     ` [Qemu-devel] " Stanislav Shwartsman
2008-11-13 20:00       ` Anthony Liguori
2008-11-14  9:47         ` Gleb Natapov
2008-11-14 20:36           ` [Qemu-devel] RE: [Bochs-developers] [PATCH v3 1/6] Move PICinitialization " Sebastian Herbszt
2008-11-10  9:11 ` [Qemu-devel] [PATCH v3 2/6] Add S3 state to DSDT. Handle resume event in the BIOS Gleb Natapov
2008-11-15 17:43   ` [Qemu-devel] Re: [Bochs-developers] [PATCH v3 2/6] Add S3 state to DSDT. Handleresume " Sebastian Herbszt
2008-11-15 17:56     ` Gleb Natapov
2008-11-10  9:11 ` [Qemu-devel] [PATCH v3 3/6] Preserve memory content during SMM init Gleb Natapov
2008-11-10  9:11 ` Gleb Natapov [this message]
2008-11-10  9:11 ` [Qemu-devel] [PATCH v3 5/6] Don't use unreserved memory in BIOS Gleb Natapov
2008-11-13  0:43   ` [Qemu-devel] Re: [Bochs-developers] [PATCH v3 5/6] Don't use unreserved memory inBIOS Sebastian Herbszt
2008-11-13  7:41     ` Gleb Natapov
2008-11-10  9:12 ` [Qemu-devel] [PATCH v3 6/6] Don't power down vga card on entering S3 state Gleb Natapov
2008-11-10 12:07   ` Glauber Costa
2008-11-10 13:28     ` Gleb Natapov
2008-11-10 20:25   ` [Qemu-devel] Re: [Bochs-developers] [PATCH v3 6/6] Don't power down vga card onentering " Sebastian Herbszt
2008-11-10 21:20     ` Gleb Natapov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081110091154.11822.61139.stgit@dhcp-1-237.local \
    --to=gleb@redhat.com \
    --cc=bochs-developers@lists.sourceforge.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).