aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2009-09-08Note version 0.4.2.rel-0.4.2Kevin O'Connor1-1/+1
2009-08-16Add support for using floppy images in CBFS.Kevin O'Connor1-1/+1
Add new "ramdisk" type for disk accesses. Extract out high-mem finding code from pmm into find_high_area(). Fix bug in GDB_BASE and GDT_LIMIT macros (wrong bit shifts).
2009-08-11Separate ATA code from generic disk code.Kevin O'Connor1-1/+1
Move generic code from ata.c to new file block.c. Rename atabits.h to ata.h and move ata header definitions from disk.h. Rename ATA.channels to ATA_channels. Rename ATA structure to Drives. Support both CONFIG_DRIVES and CONFIG_ATA options.
2009-07-29Add auto-generated version info to each build.Kevin O'Connor1-2/+7
Add versioning info to initial debug and screen banner output.
2009-07-26Add PMM stubs.Kevin O'Connor1-1/+1
Add initial code for Post Memory Manager - it's just the stubs for now. Also, fix PnP entry point not clearing irqs and direction flags.
2009-07-19Expand int155f "vgahook" detection.Kevin O'Connor1-2/+2
Verify VGA card vendor is via before supporting via 155f calls. Add support for future code depending on coreboot board id. Add code for via VX855 memory size and speed detection.
2009-07-13Minor - clarify intermediate object file names.Kevin O'Connor1-11/+13
Rename romlayout16.o to code16.o. Rename ccode32.o to code32.o.
2009-06-22Don't use "objcopy --extract-symbol" - old binutils don't have that option.Kevin O'Connor1-1/+1
2009-06-21Forward port bochs smp changes; rename smpdetect.c to smp.c.Kevin O'Connor1-1/+1
Rename smpdetect.c to smp.c - the code does more than just cpu detection. Don't probe cpu count on demand - schedule it during post. Add logic to run wrmsr on all cpus. Don't make mtrr setup specific to kvm - do it on all machines that have mtrr and msrs. Detect cpu signature/features automatically in mptable. Also, make sure acpi structures are packed.
2009-06-17Avoid makefile "else ifeq" syntax - old versions don't support it.Kevin O'Connor1-1/+3
2009-06-15Avoid -fwhole-program on broken gcc instead of stopping build.Kevin O'Connor1-9/+16
Enhance build to detect and avoid gcc with broken -fwhole-program Also, remove workaround for older gcc that mess up global exports.
2009-06-10Add support for gcc v3.x compilers.Kevin O'Connor1-2/+4
Suppress __attribute__((externally_visible)) when no -fwhole-program Add switch hack for compilers without -fno-jump-tables Define memcpy() function (for compilers without -minline-all-stringops). Define call16_simpint as a macro (a param needs to be inlined). Make sure s3_resume is only defined in 32bit mode.
2009-06-10Do garbage collection of unused sections.Kevin O'Connor1-5/+8
Implement -ffunction-sections and -fdata-sections in both 32bit and 16bit code. Make sure all sections have unique names (even asm and discarded sections). Enhance tools/layoutrom.py script to find all sections reachable from exported 16bit code - prune all other sections. Mark sections with "export" if they can be visible outside of code - these sections wont be dropped when pruning unused sections.
2009-05-27Keep relocated 16bit code so checkstack can use it.Kevin O'Connor1-2/+2
Make was stripping the relocated 16bit code - keep the unstripped 16bit code so that checkstack can parse it.
2009-05-23Eliminate "_code32_" prefix on 32bit symbols referenced from 16bit code.Kevin O'Connor1-9/+11
Use linking magic to eliminate the need for the _code32_ prefix.
2009-05-17VGA: Commit missing change to Makefile.Kevin O'Connor1-2/+2
2009-05-06Add initial port of the "open source vga bios" project.Kevin O'Connor1-2/+26
This is an initial import of the code from: http://www.nongnu.org/vgabios/ The code has been ported from bcc to gcc and gas. This is an initial import - many functions have not been ported; many bugs are present.
2009-04-26Add LZMA decompression support to CBFS.Kevin O'Connor1-1/+2
Support payloads compressed with lzma.
2009-04-19Fixup previous memcpy optimization.Kevin O'Connor1-1/+2
Different gcc versions handle __builtin_memcpy differently. Add -minline-all-string to force inlining of memcpy on old gcc. Always use __builtin_memcpy for all memcpy calls. Use memcpy4() for the option rom case where 4-byte accesses is important.
2009-04-08Turn off new gcc tree-switch-conversion option in 16bit mode.Kevin O'Connor1-0/+1
This option emits code which accesses global variables - it wont work in 16bit mode.
2009-04-08Rework linker scripts so they work on new version of ld.Kevin O'Connor1-1/+1
Declare output sections with explicit start address - don't rely on LD using '.' for the start of the section. Make addresses that are absolute by using the ABSOLUTE() function. Discard .eh_frame - new gcc has this on by default. Also, don't use '-d' - instead use FORCE_COMMON_ALLOCATION.
2009-03-26Expand gcc tests.Kevin O'Connor1-2/+7
Verify -fwhole-program works at make startup. Warn when gcc marks global functions as local.
2009-02-08Reorganize boot code.Kevin O'Connor1-1/+1
Simplify keyboard handling in post_menu.c, and move to util.c. Move remaining functions in post_menu.c to boot.c; remove post_menu.c. Also, remove broken check for F12 when in boot menu. Move BEV setup code from post.c to boot.c. Move option rom BEV adding code from optionroms.c to boot.c. Avoid calling BX_PANIC during boot if there is an alternative.
2009-01-25Enhance makefile to autodetect if AVOIDCOMBINE is needed.Kevin O'Connor1-1/+5
2009-01-17Move variables from assembler to C code.Kevin O'Connor1-17/+7
Define macro VAR16FIXED for declaring a variable at a fixed location. Introduce new file src/misc.c, and move non int15 calls from system.c to it. Implement all fixed location variables in C code. Move IDT/GDT defs to misc.c. Remove unused gdt entry 1.
2009-01-17Try to automatically fit sections into open spaces in the fixed area.Kevin O'Connor1-1/+1
Enhance layoutrom.py script to find and locate sections into fixed area. Have layoutrom.py create output file instead of using redirect from make. Don't use freespace2 for bios tables in f segment - freespace in fixed area is now automatically filled. Change checkrom script to test final_code16_end instead of _start - this improves catching of alignment errors. Don't align gdt to 8 bytes - it causes whole section to be aligned, which causes entry point to be misaligned. Explicitly reserve space for variables in fixed area so that the space for them is not auto-filled.
2009-01-17Layout fixed area using linker instead of assembler.Kevin O'Connor1-0/+8
The fixed offset requirements of the 16bit code can be done using multiple sections and a linker script. Using the linker allows for more flexibility. Also, have the 16bit code generate sections for every function and variable definition.
2009-01-15Change license from GPLv3 to LGPLv3.Kevin O'Connor1-1/+1
Change license of contributions from Kevin O'Connor from GPLv3 to LGPLv3 (or later). Since the work as a whole is based on Kevin's contributions and the "bochs bios" which has a license of LGPL (v2 or later), this effectively makes the work as a whole available under LGPLv3 (or later).
2009-01-04Initial KVM support.Kevin O'Connor1-1/+1
Add some of the enhancements KVM has to their bochs bios tree. This is only partial support for KVM - some features still do not work correctly.
2009-01-04Silence the strict-aliasing warnings that older compilers emit.Kevin O'Connor1-1/+1
2009-01-01Tune gcc stack growth parameter.Kevin O'Connor1-1/+1
Use 4 instead of 8 -- latest gcc isn't doing tail-recursion optimizations on disk functions due to stack growth.
2008-12-29Add more linker protections around variables accessed from 16bit mode.Kevin O'Connor1-1/+1
Rename VAR16 to VAR16_32 -- that macro supports accesses from both 16bit and 32bit mode. Introduce a new macro VAR16 that must be present on all global variables accessed from 16bit mode.
2008-12-28Move pir table offset from ebda to a global variable.Kevin O'Connor1-3/+2
Also, make sure the pir table is defined with the 16bit code.
2008-12-21Initial PnP bios call support.Kevin O'Connor1-1/+2
This commit provides just enough PnP support for gPXE to not hook int19.
2008-12-10Improve support for old 16bit resume handlers.Kevin O'Connor1-1/+1
Detect a non-standard CMOS shutdown code during post and run a separate resume handler. Set aside space in the EBDA for the resume handler stack. Add support for several of the code supported in bochs bios.
2008-12-06Execute smp detect code in place instead of copying it.Kevin O'Connor1-2/+2
Compile the smp detect handler with the rest of the 16bit code. Implement a simple ljmpw trampoline so the main code can run in place. Restore memory afterwards to prevent memory corruption.
2008-12-06Makefile cleanups.Kevin O'Connor1-10/+10
Don't assemble romlayout16.S with debugging on - gcc gets confused when multiple files with debugging are included. Be more consistent in status messages. Use ccode instead of blob/romlayout32 -- it's more accurate.
2008-11-16Add tool for generating assembler offset definition file.Kevin O'Connor1-1/+4
Replace __call16 hardcoded offsets with auto generated struct offsets. Also, load/save %ds register in __call16().
2008-11-16Cleanup a20 code.Kevin O'Connor1-2/+2
Fix two apparent bugs - set_a20() returned new status instead of old status and handle_152402() checked wrong bit. Add bit definition for the a20 enable bit: A20_ENABLE_BIT Allow ioport.h #defines to be used in romlayout.S.
2008-11-08Support .bss variables in 16bit code (ones that the 32bit code can set).Kevin O'Connor1-1/+1
2008-11-07Be sure to define defaults for NM,STRIP,OBJCOPY in Makefile.Kevin O'Connor1-0/+4
2008-11-06Fix cross compilation issues of seabiosKevin O'Connor1-10/+10
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
2008-11-01Separate out and enhance option rom scanning code.Kevin O'Connor1-1/+2
Move option rom code from post.c to optionroms.c. Add struct definitions for option roms. Fix an apparent bug in the check for pnp extension headers.
2008-08-17Add stubs for VIA vga bios callbacks to system bios.Kevin O'Connor1-1/+1
The VIA vga bios likes wants to call int 15/5f of main bios. So, add stubs to make it happy.
2008-07-30Don't allow CFLAGS to be set from commandline.Kevin O'Connor1-1/+1
Some build systems try to override CFLAGS, but this project needs it to be set explicitly.
2008-07-21Remove vgahooks.c from Makefile.Kevin O'Connor1-1/+1
A testing change got accidentally commited.
2008-07-20Rewrite ps2 port (keyboard/mouse) handling.Kevin O'Connor1-2/+2
Use command sending code for communicating with the ps2 port.
2008-07-13Always define macro MODE16 - that way it can be used in C conditionals.Kevin O'Connor1-2/+2
When in 32bit mode - just define it to 0.
2008-07-06Convert bootup code (int18/int19) to 32bit mode.Kevin O'Connor1-4/+4
The boot entry points should not require 16bit mode, so use 32bit mode instead.
2008-07-06Relinking rom32.o twice seems flaky - make third link stage.Kevin O'Connor1-8/+8
Sigh - ld seems to move things around when relinking files. So, separate out the link stages so that everything is incremental. Also, improve diagnostics of checkrom.py tool.