Compile fixes from linuxBIOS hopefully it works for everyone again.

crt0.base
     - SMP compile fixes
     - No longer unconditionally include cpu/p5/start32.inc
         (it's been renamed  cpu/i386/entry16.inc)
ldscript.base
     - Simplfied, and moved some content into reset16.lds and entry16.lds
stddef.h
     - Use C style comments for #endif /* I386_STDDEF_H */
pirq_routing.h
     - The define is HAVE_PIRQ_TABLE not HAVE_PIRQ_ROUTING_TABLE
mtrr.c
     - Remove the need for defining INTEL_PPRO_MTRR
mainboard/xxx/Config
     - start32.inc is no longer automatically included include
       entry16.inc and reset16.inc where appropriate
       In particular if we are using a docipl we don't want
       reset16.inc or reset16.lds
tyan/guiness/mptable.c
     - Removed spurious define USE_ALL_CPUS
northbridge/intel/440gx/
     - Updated to compile with the factored generic memory code.
nortsouthbridge/sis/xxx/
     - Remove includes of northsouthbridge/sis/630/param.h did I add them?
       The file is gone now so including it is just bad...
NLBConfig.py
      - Allow relative filename arguments
      - Add directive ldscript to add an include file into
        our linker script
      - Fixed docipl to use strings when calling set_option
      - Allow target the target directive to use relative paths
      - Add extra dependencies to ldscript.lds
This commit is contained in:
Eric W. Biederman 2001-08-21 02:37:35 +00:00
commit e1b09246c2
37 changed files with 312 additions and 73 deletions

View file

@ -7,6 +7,9 @@
#include <arch/intel.h>
#include <pciconf.h>
#ifdef SMP
#include <cpu/p6/apic.h>
#endif
/*
* This is the entry code (the mkrom(8) utility makes a jumpvector
* to this adddess.
@ -20,9 +23,6 @@
* %fl = 0x0002
*/
.text
.code16
#include <cpu/p5/start32.inc>
CRT0_PARAMETERS
@ -121,17 +121,3 @@ str_after_ram: .string "Ram Initialize?\r\n"
str_after_copy: .string "after copy?\r\n"
str_pre_main: .string "before main\r\n"
newline: .string "\r\n"
.section ".reset_vector"
.code16
.globl EXT(reset_vector)
EXT(reset_vector):
#if _ROMBASE >= 0xffff0000
jmp EXT(_start)
#elif (_ROMBASE < 0x100000)
ljmp $((_ROMBASE & 0xf0000)>>4),$EXT(_start_offset);
#else
#error _ROMBASE is an unsupported value
#endif

View file

@ -9,9 +9,6 @@
* _ROMBASE
* : linuxbios text
* : readonly text
*
* _ROMTOP : The top of the rom used where we
* need to put the reset vector.
*/
/*
* Bootstrap code for the STPC Consumer
@ -21,9 +18,6 @@
*
*/
_ROMTOP = (_ROMBASE >= 0xffff0000)? 0xfffffff0 : 0xffff0;
_start_offset = _start & 0xffff;
gdtptr_offset = gdtptr & 0xffff;
/*
* Written by Johan Rydberg, based on work by Daniel Kahlin.
* Rewritten by Eric Biederman
@ -35,11 +29,6 @@ gdtptr_offset = gdtptr & 0xffff;
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
/*
* Entry point is not really nececary, since the mkrom(8)
* tool creates a entry point that jumps to $0xc000:0x0000.
*/
/* baloney, but ... RGM*/
ENTRY(_start)
SECTIONS
@ -52,7 +41,6 @@ SECTIONS
.text (.) : {
_text = .;
*(.text);
*(.text.*)
_etext = .;
}
.rodata (.) : {
@ -73,8 +61,6 @@ SECTIONS
.data (.): AT(_erodata) {
_data = .;
*(.data)
*(.sdata)
*(.sdata2)
_edata = .;
}
_ldata = LOADADDR(.data);
@ -105,14 +91,8 @@ SECTIONS
. = ((MAX_CPUS) * (STACK_SIZE));
_estack = .;
}
_lreset = _ROMTOP;
. = _lreset;
.reset (.) : AT (_lreset) {
*(.reset_vector)
. = 15 ;
BYTE(0x00);
}
_elreset = _lreset + SIZEOF(.reset);
/DISCARD/ : {
*(*)
}

View file

@ -12,4 +12,4 @@ typedef unsigned int wint_t;
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif //I386_STDDEF_H
#endif /* I386_STDDEF_H */