This now builds a K8 bios image.

Now to start testing.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@810 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
Ronald G. Minnich 2008-08-24 06:07:21 +00:00
parent 159354e6ba
commit c499c2c6bb
2 changed files with 41 additions and 0 deletions

View file

@ -453,3 +453,42 @@ mem_top:
.long 0x000 /* NULL, end of table */
cache_as_ram_setup_out:
/* Reset vector. */
/*
* RVECTOR: Size of reset vector, default is 0x10.
* RESRVED: Size of vpd code, default is 0xf0.
* BOOTBLK: Size of bootblock code, default is 0x1f00 (8k-256b).
*/
SEGMENT_SIZE = 0x10000
RVECTOR = 0x00010
/* Due to YET ANOTHER BUG in GNU bintools, you can NOT have a code16 here.
* I think we should leave it this way forever, as the bugs come and
* go -- and come again.
*
* .code16
* .section ".rom.text"
*/
.section ".reset", "ax"
.globl _resetjump
_resetjump:
/* GNU bintools bugs again. This jumps to stage0 - 2. Sigh. */
/* jmp _stage0 */
.byte 0xe9
.int _stage0 - ( . + 2 )
/* Note: The above jump is hand coded to work around bugs in binutils.
* 5 bytes are used for a 3 byte instruction. This works because x86
* is little endian and allows us to use supported 32 bit relocations
* instead of the weird 16 bit relocations that binutils does not
* handle consistenly between versions because they are used so rarely.
*/
.byte 0
/* Date? ID string? We might want to put something else in here. */
.ascii DATE
/* Checksum. */
/* .word 0 */

View file

@ -309,6 +309,8 @@ int lar_add_bootblock(struct lar *lar, const char *bootblock)
if (s.st_size != BOOTBLOCK_SIZE) {
err("Bootblock %s does not appear to be a bootblock.\n",
bootblock);
err("It is the wrong size; it should be %d bytes and it is %d bytes\n",
BOOTBLOCK_SIZE, s.st_size);
close(fd);
return -1;
}