aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2013-12-23build: Don't trash the .config file when src/Kconfig changes.Kevin O'Connor1-1/+1
Revision 5325e91e introduced a change to force the rebuild of the .config file when the src/Kconfig (or vgasrc/Kconfig) file changes. However, this was causing a complete rebuild of the user's .config file which would throw away the user's current settings. On a rebuild, use the kbuild olddefconfig rule instead of defconfig to attempt to keep the user's current settings. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-12-05add hw/serialio.c to SRC32SEGGerd Hoffmann1-1/+1
Fixes build failure for CONFIG_COREBOOT=y. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-12-04vgabios: Move initialization code to new file vgainit.c.Kevin O'Connor1-1/+2
Move the initialization code out of vgabios.c to a new file to reduce the size of the vgabios.c file. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-12-04vgabios: Support allocating an extra stack for vgabios calls and default on.Kevin O'Connor1-1/+1
Add code to allocate an extra stack for the main vgabios int 0x10 entry point. The allocation is done via the PMM spec and uses a PCI v3 permanent low memory region request. This request will work with SeaBIOS - it is unknown how many other main BIOS implementations support this PMM call. The extra stack is useful for old DOS programs that call the VGABIOS and expect it to work with very small amounts of stack space. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-12-04Move low-level hardware writing from output.c to new file hw/serialio.c.Kevin O'Connor1-2/+2
Avoid hardware specific code in output.c. This will reduce the amount of change needed to output.c as support for more serial hardware is added. This patch also renames some functions to improve the naming scheme. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-11-06romfile_loader: utility to patch in-memory ROM filesMichael S. Tsirkin1-1/+1
Add ability for a ROM file to point to it's image in memory. When file is in memory, add utility that can patch it, storing pointers to one file within another file. This is not a lot of code: together with the follow-up patch to load ACPI tables from ROM, it's about 1K extra. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-10-26Add pvscsi boot supportEvgeny Budilovsky1-1/+1
Testing was done on windows images (win 2008/2012) taken from esx with vmware tools installed and boot disk configured to use pvscsi. Also I've used linux (ubuntu 12.04) where pvscsi drivers are installed by default and booted it using qemu cmd similar to this: ./x86_64-softmmu/qemu-system-x86_64 -snapshot -device pvscsi,id=pvscsi0 \ -device scsi-disk,bus=pvscsi0.0,drive=drive0 \ -drive id=drive0,if=none,file=ubuntu-12.04.qcow2 \ -bios roms/seabios/out/bios.bin Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@ravellosystems.com>
2013-10-16Build different final files for QEMU, coreboot, and CSM.Kevin O'Connor1-3/+18
Build out/bios.bin on QEMU, out/bios.bin.elf on coreboot, and out/Csm16.bin for CSM. This reduces the chance that one accidentally builds for an incorrect target. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-10-14Run ahci code entirely in 32bit mode.Kevin O'Connor1-2/+2
The ahci driver needs to jump into 32bit mode in order to access portions of the ahci controllers PCI config space. Instead of jumping into 32bit mode just to toggle the ahci registers, jump into 32bit mode for all of the driver interactions. This shrinks the size of the overall code and can lead to further cleanups. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-30build: explicitly set ROM sizeGerd Hoffmann1-1/+2
Add a config option to specify the rom size wanted. Default is zero, which will automatically figure the needed size. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30build: create output dirs in do-kconfigGerd Hoffmann1-4/+2
Unbreaks parallel builds. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-28Move dma code to new file hw/dma.c.Kevin O'Connor1-1/+1
Move the DMA controller code in resume.c and hw/floppy.c to a new file hw/dma.c. This centralizes the DMA controller code into one place. Also, don't unmask the floppy DRQ during floppy setup - there is no reason to unmask the DRQ prior to a command being programmed into the DMA controller. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-28Rename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to hw/rtc.c.Kevin O'Connor1-1/+1
Group the Real Time Clock code into hw/rtc.[ch]. Also, use rtc_read/write/mask function naming (instead of inb/outb_cmos) to be more consistent with other register accessors. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-25build: simplify cross buildsGerd Hoffmann1-13/+18
This patch simplifies seabios cross-builds on !x86 platforms. It adds a CROSS_PREFIX variable which is used to set CC, LD & friends to the cross build binaries. It also moves the common command definitions up in the Makefile to make sure CC is set correctly when probing compiler flags using $(call cc-option ...) Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-19usb: add xhci supportGerd Hoffmann1-1/+1
$subject says all. Support for usb3 streams is not implemented yet, otherwise it is fully functional. Tested all usb devices supported by qemu (keyboard, storage, usb hubs), except for usb attached scsi in usb3 mode (which needs streams). Tested on qemu only, tagged with QEMU_HARDWARE because of that. Testing with physical hardware to be done. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-18build: Fix import of gcc dependency files.Kevin O'Connor1-1/+1
Make sure dependency file import works with new hw/ and fw/ sub-directories. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-18Move malloc code from pmm.c to new files malloc.c and malloc.h.Kevin O'Connor1-1/+1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-18build: Perform compile checking on vgasrc code.Kevin O'Connor1-1/+1
Perform a compile check on each individual C file of the vgabios code similar to the way that the main bios code does individual C compile tests. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-18Rename util.c to string.c and introduce string.h.Kevin O'Connor1-3/+3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-18Split x86 specific functions out of util.c/h to new files x86.c/h.Kevin O'Connor1-1/+1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-02build: Reorder makefile source list to group like files together.Kevin O'Connor1-11/+16
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-02Move code cenetered around firmware initialization to src/fw/Kevin O'Connor1-8/+8
Move many C files from the src/ directory to the new src/fw/ directory. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-02Move code centered around specific hardware devices to src/hw/Kevin O'Connor1-11/+11
Move many C files from the src/ directory to the new src/hw/ directory. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-02build: Don't use vpath makefile directive.Kevin O'Connor1-14/+12
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-08-17Rename tools/ directory to scripts/ directory.Kevin O'Connor1-19/+19
It's common for other projects (eg, QEMU, Linux) to put build scripts into a "scripts/" directory. There's no reason for SeaBIOS to be different, so rename the "tools/" directory to "scripts/". Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-08-10Add config option to support memory allocations in 9-segment.Kevin O'Connor1-1/+1
Internal "low memory" allocations are currently placed in the UMB region (0xc0000-0xf0000). However, there have been reports of some real machines that do not support DMA to this area of memory. So, add a compile time config option (off by default) to support placing all internal low-memory allocations at the end of the 640K real-memory area (0x90000-0xa0000). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-07-20Move internal timer code from clock.c to a new file timer.c.Kevin O'Connor1-1/+1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-03-17Add dependencies to vgafixup.py and buildversion.sh scripts.Kevin O'Connor1-3/+3
Rebuild targets if these scripts change. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-03-08Add additional dependency checks to Makefile.Kevin O'Connor1-3/+6
Generate dependencies on pre-processed ASL files. This ensures that a change to an imported dsdt file will cause iasl to be called. Make .config depend on Kconfig files. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-03-06Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.Kevin O'Connor1-1/+1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-18Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.Kevin O'Connor1-4/+4
Convert all users of the alternative variable exports to VARFSEG. There isn't a significant distinction between the existing types of exports, so it's simpler to just use one type going forward. The new VARFSEG declaration is only emitting when in 32bit mode, so update and move some variables as needed. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-17build: Don't require $(OUT) to be a sub-directory of the main directory.Kevin O'Connor1-2/+2
Remove references to "../" and "out/" from the build so that "make OUT=/a/b/c/" will work. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-17Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".Kevin O'Connor1-3/+3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-07Add CSM supportDavid Woodhouse1-1/+1
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-12-11Add compile checking phase to build.Kevin O'Connor1-4/+8
The build textually includes all the code together in one unit for the compiler in order to use gcc's -fwhole-program option. Textually including all the code can mask subtle code errors (eg, forgetting to include the correct headers) and can lead to confusing error reports from the compiler. So, compile each file individually in addition to the normal textually inclusive build. This improves the error checking while still obtaining the benefits of -fwhole-program. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-12-11Don't use gcc's -combine option.Kevin O'Connor1-22/+5
The combine option has been deprecated from gcc for the last few revisions. The option doesn't add any real benefits, so there's no real point in checking for it on the few systems that will still have it. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-12-11Don't recursively evaluate CFLAGS variables.Kevin O'Connor1-6/+6
The $(cc-option) macro was being executed multiple times for each compiler invocation. That's a waste of time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-12-01seabios: q35: add dsdtIsaku Yamahata1-1/+1
add dsdt for q35 chipset of qemu. [jbaron: remove suspd bits since they are now auto-generated, move pci window to 0xb0000000, add framework for auto generated pci windows] [kraxel: remove pci express root ports + pci bridge] Cc: Matthew Garrett <mjg59@srcf.ucam.org> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Jason Baron <jbaron@redhat.com>
2012-11-19megasas: Add boot support for LSI MegaRAID SASHannes Reinecke1-1/+1
This patch adds boot support for LSI MegaRAID SAS controllers. Signed-off-by: Hannes Reinecke <hare@suse.de> Cc: Kevin O'Connor <kevin@koconnor.net> Cc: Gerd Hofmann <kraxel@redhat.com> Cc: Alex Graf <agraf@suse.de> Cc: Paolo Bonzini <pbonzini@redhat.com>
2012-09-02acpi: move s3/s4/s5 to build_ssdtPaolo Bonzini1-1/+1
Move the _S3/_S4/_S5 packages out of ssdt-pcihp.dsl and into a separate file. Correspondingly, move the patching from build_pcihp to build_ssdt. Place this part at the beginning of the SSDT. Offset computation is a bit simpler, and anyway the packages do not need to be inside Scope(_SB). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-09-02Makefile: delete output on errorMichael S. Tsirkin1-0/+1
I had a disk full condition and a partial hex file got generated. Following make failed trying to use it. We can make build a bit more robust by instructing make to remove output files on error. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2012-08-29Make iasl option check work with older versions of iasl.rel-1.7.1Kevin O'Connor1-1/+1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-08-07scsi: add AMD PCscsi driverPaolo Bonzini1-1/+1
This is a driver for an AMD PCscsi (am53c974) SCSI card. It can be used together with DOS or old operating systems such as Windows NT 3.1, Windows 3.1 or Windows 98. Cc: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-08-04acpi: fix build with new iasl compilerMichael S. Tsirkin1-1/+4
iasl versions starting with 20120320 (git commit 7fd09d993580e22a096a1b21d2a356d89e702153) enable a preprocessor by default, which currently strips out comments from the input. Happily the next release, 20120420, includes an option to disable the preprocessor. Test and use this option when available. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2012-07-21lsi53c895a boot supportGerd Hoffmann1-1/+1
This patch adds support for the lsi53c895a scsi host adapter, allowing seabios to boot from scsi disks and cdroms connected to the lsi scsi hba emulated by qemu. This driver was written by looking at the expectations of qemu's lsi emulation. I have no idea idea how close this is to work on real hardware, and I somehow doubt anyone cares given the age of physical lsi scsi cards. It depends on !COREBOOT for that reason. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-07-21usb attached scsi boot supportGerd Hoffmann1-1/+2
This patch adds support for booting from UAS (usb attached scsi) devices. For now only usb 2.0 support is there. On usb 3.0 the UAS protocol uses streams, so changes will be required to make usb 3.0 devices fly once we have a xhci host controller driver. So far the driver has been tested on qemu-emulated virtual hardware only. In theory should just work on bare metal too. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-02Cache romfile entries.Kevin O'Connor1-1/+1
Create a 'struct romfile_s' and populate a list of all romfiles at start of init. Caching the romfiles both simplifies the code and makes it more efficient. Also, convert the ramdisk code to use romfile helpers instead of directly accessing cbfs. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-05-30remove iasl-generated hex files from git repoKevin O'Connor1-7/+7
Almost every linux distro has iasl packaged these days. Lets make it a build dependency and stop the hassle we have with updating the *.hex files in the git repo. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-04-30Add IASL definition to the Makefile.Marc Jones1-1/+2
Add IASL definition to Makefile so it can be passed by the user. Signed-off-by: Marc Jones <marc.jones@se-eng.com>
2012-03-31seabios: readd Makefile rule for ACPIMichael S. Tsirkin1-0/+1
Commit 36feea9317b45abf3a540e9d82ad1723bebe3ebd removed the dependency of output file on acpi output. This means it's not rebuilt on acpi source or hex file updates. Re-introduce this dependency. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>