aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware
Commit message (Collapse)AuthorAgeFilesLines
* firmware: Fix build dependencies.Keir Fraser2008-07-313-8/+10
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* firmware: Fix CFLAGS -I directives.Keir Fraser2008-07-303-4/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* rombios: Simplify and clarify POST code a little.Keir Fraser2008-07-301-57/+9
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* rombios: Remove dead code.Keir Fraser2008-07-291-27/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* rombios: Obtain S3 wake vector from >1MB.Keir Fraser2008-07-298-96/+112
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Load ACPI tables outside BIOS area, so they are writable byKeir Fraser2008-07-294-12/+42
| | | | | | | | OSPM (particularly the S3 firmware_waking_vector). TODO: rombios must enter protected mode to fetch the vector on S3 resume. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* rombios: Narrow window where BIOS area is writable, and ensure itKeir Fraser2008-07-291-7/+13
| | | | | | | really *is* writable in that region. This is almost enough to get S3 working again (read-only firmware-waking-vector is still a problem). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* rombios: S3 resume data must be in EBDA.Keir Fraser2008-07-241-26/+22
| | | | | | Rombios itself is read-only. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools: Declare functions static where they should be, and provideKeir Fraser2008-07-157-31/+23
| | | | | | proper prototypes for others as required. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* hvmloader, rombios: Make use of new rom-lock facility in ioemu platform device.Keir Fraser2008-07-114-6/+56
| | | | | Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vgabios: Delete autogenerated file from repository.Keir Fraser2008-07-091-1850/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vgabios: upgrade to CVS versionKeir Fraser2008-07-0413-1634/+3718
| | | | | | | | | | | | | | cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/vgabios co vgabios Patchs backported: - vgabios: Support VESA power management extensions. (cs 17692) - x86, hvm: Allow Cirrus VGA BIOS to clear framebuffer with minimal PIO writes. (cs 16242) This patch fixes the bug with the IDR boot CD. Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
* hvm rombios: Move function calls out of 'post' function sectionKeir Fraser2008-06-271-12/+23
| | | | | | | | | | Through recent additions to the rombios the code section of the post function has filled up considerably. When I enable the BX_TCGBIOS compile time option the BIOS crashes since the post section code (starts at $e05b) spills over into the nmi entry point (starts at $e2c3). as86 doesn't cause an error when building. Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
* hvmloader: Set up any Intel ICH for legacy IDE.Keir Fraser2008-06-271-4/+6
| | | | Signed-off-by: Li Zhang <li.zhang@intel.com>
* rombios: S3 resume fixes.Keir Fraser2008-06-021-18/+27
| | | | | | | | | | | On AMD cpus, HVM S3 resume was hanging in the bios when trying to load the x_firmware_waking_vector from absolute address 0xEA01C (that is, a segment offset greater than 64kB). This change also now uses 20-bits (instead of 16) from the FACS standard firmware_waking_vector. Signed-off-by: Juergen Keil <jk@tools.de>
* hvmloader: No need to map shared_info page into the legacy VGA MMIOKeir Fraser2008-05-281-10/+2
| | | | | | hole. We can access address 0xfffff000 from 32-bit protected mode. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* rombios: Remove annoying 3-second boot delay waiting for user to hitKeir Fraser2008-05-231-20/+6
| | | | | | | | | F10 to select boot device. This will be rarely used, and it is possible to hit F10 before the message is displayed and the keypress will still register. So in practice it is quite possibel to use this boot feature reliably without needing a multi-second delay. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Fix pci_setup() to not skip BAR remapping for virtual VGA devices.Keir Fraser2008-05-221-39/+35
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Lay out memory a bit differently -Keir Fraser2008-05-213-15/+22
| | | | | | | | | | * Cleanly define a scratch area for temporary storage * Raise Etherboot ROM out of the way of larger VGA BIOSes Also detect virtual VGA adaptors more cleanly. Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vgabios: Support VESA power management extensions.Keir Fraser2008-05-212-3/+52
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvm: rombios interface for HVM S3Keir Fraser2008-05-203-512/+615
| | | | | | | | | | | | | | | | | | | | | - add S3 package in ACPI DSDT table. Guest OS will get S3 value from this package and write the value to PM1A control register to trigger S3 suspend. - Add S3 resume logic in rombios post code. the CMOS shutdown register is used to indicate if this is a S3 resume. - if it is s3 resume, rombios will get wakeup vector from ACPI FACS table and jump to wakeup vector. Per ACPI spec, the wakeup vector jumping must be the forms CS:IP, in which CS=3D(wakeup vector>>4) IP=3D(wakeup vector)&0xF, for example, for vector=3D0x12345, CS:IP=3D0x1234:0x5 Note: clobber_entry_point will clobber the post entry, which make S3 resume not work. We will directly jmp to POST Entry if it in S3 Resume path. Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Ke Liping <liping.ke@intel.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86, hvm: Lots of MTRR/PAT emulation cleanup.Keir Fraser2008-04-166-9/+112
| | | | | | | | | | - Move MTRR MSR initialisation into hvmloader. - Simplify initialisation logic by overlaying UC on default WB rather than vice versa. - Clean up hypervisor HVM MTRR/PAE code's interface with rest of hypervisor. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Explicitly revert to text section after declaring bss fields.Keir Fraser2008-04-152-0/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Framework for multiprocessor initialisation.Keir Fraser2008-04-154-2/+138
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Small cleanups.Keir Fraser2008-04-143-23/+33
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Fix build with gcc 4.1 and later.Keir Fraser2008-04-101-3/+3
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Build with -Werror.Keir Fraser2008-04-092-1/+3
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Fix parsing Etherboot roms to avoid an infinite loop.Keir Fraser2008-04-091-18/+19
| | | | | Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Parse Etherboot option ROMs the conventional way.Keir Fraser2008-04-025-2894/+2952
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86 firmware: Consolidate firmware common build rules.Keir Fraser2008-04-026-44/+23
| | | | | | Also avoid overriding global optimisation default (-O1, -O2, etc.) Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Fix parallel build.Keir Fraser2008-04-021-1/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Properly implement some more SMBIOS fields.Keir Fraser2008-04-015-23/+152
| | | | | | | | | | | | | In particular: - BIOS release date - BIOS characteristics - BIOS extended characteristics (Targeted Content Distribution is required to be specified to pass WHQL). - CPU speed Based on a patch by Kamala Narasimhan <kamala.narasimhan@citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvm acpi: Restrict to 15 Processor objects.Keir Fraser2008-03-252-537/+540
| | | | | | | | | | | | | Some versions of Windows 2000 only support no more than 15 cpus in ACPI table, otherwise it will cause a BSOD KMODE_EXCEPTION_NOT_HANDLED. This patch decrease the cpu count in the ACPI DSDT to 15. Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com> At the same time, fix the ACPI processor IDs in the Processor objects. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools build: Fix build after subdir rules cleanups.Keir Fraser2008-03-253-10/+7
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools/firmware: Use generic subdirs rules.Keir Fraser2008-03-254-28/+16
| | | | Signed-off-by: Bastian Blank <waldi@debian.org>
* hvm bios: Fix EDD pointer in int 13h, fn 48h BIOS call return bufferKeir Fraser2008-03-171-1/+1
| | | | | | | | | | I ran into this when I was reviewing what was outstanding to get NetWare to run fully virtualized. The BIOS emulator code has the segment and offset backward in the returned buffer for the int 13h, fn 48h BIOS call. Signed-off-by: Bruce Rogers <brogers@novell.com>
* hvmloader/acpi: Simplify Processor Object definitions.Keir Fraser2008-02-253-594/+563
| | | | | | | | | | No need to generate the correct number dynamically since present/not-present can be determined from the MADT. What *is* required is that we have a Processor Object for every present processor. We statically declare 16 Objects, which should be plenty for now. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Enable HVM guest VT-d device hotplug via a simple ACPI hotplug device model.Keir Fraser2008-02-153-7/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | ** Currently only 2 virtual hotplug pci slots(6~7) are created so more than 2 vtd dev can't be hotplugged, but we can easily extend it in future. Three new commands are added: "xm pci-list domid" show the current assigned vtd device, like: VSlt domain bus slot func 0x6 0x0 0x02 0x00 0x0 "xm pci-detach" hot remove the specified vtd device by the virtual slot, like: xm pci-detach EdwinHVMDomainVtd 6 "xm pci-attach DomainID dom bus dev func [vslot]" hot add a new vtd device in the vslot. If no vslot specified, a free slot will be picked up. e.g. to insert '0000:03:00.0': xm pci-attach EdwinHVMDomainVtd 0 3 0 0 ** guest pci hotplug linux: pls. use 2.6.X and enable ACPI PCI hotplug ( Bus options=> PCI hotplug => ACPI PCI hotplug driver ) windows: 2000/xp/2003/vista are all okay Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
* hvm acpi: Expose \_S4 ACPI object, allowing suspend-to-disk.Keir Fraser2008-02-152-454/+463
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86 hvm: Allow HPET to be configured as a per-domain config option.Keir Fraser2008-02-113-449/+473
| | | | | | | | | | A new platform variable 'hpet' is added, which defaults to 0 for new guests (that is, hpet disabled). Default is off (no hpet) because hpet is currently less accurate in keeping time than PIT (because no timer_mode adjustments). Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Remove dead function check_amd().Keir Fraser2008-02-061-14/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86 vmx: Remove vmxassist.Keir Fraser2008-02-0616-3624/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Fix hvmloader makefile dependencies, and do not recurse intoKeir Fraser2008-02-022-2/+2
| | | | | | | tools/firmware/etherboot by default (the dependency of eb_roms.h on Config does not seem to always prevent the build from going ahead, for some reason). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* etherboot: Supply pre-built option ROMs to avoid needing to buildKeir Fraser2008-02-025-24/+4135
| | | | | Etherboot from scratch in most situations. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvm: Etherboot for E100 NICKeir Fraser2008-01-314-28/+75
| | | | | Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
* Remove unused find-gcc-3 script.Keir Fraser2008-01-311-10/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* etherboot: Fix the build.Keir Fraser2008-01-311-1/+24
| | | | Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Build etherboot ROM from source.Ian Jackson2008-01-307-2057/+74
| | | | | | | | We now include the source for Etherboot (5.4.2, obtained from git) rather than a pre-built ROM. This gives better traceability and GPL licence compliance. See tools/firmware/etherboot/README for details. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* firmware: Use new path to xen public headers.Keir Fraser2008-01-284-5/+6
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Remove auto-generated files in extboot/ directory.Keir Fraser2008-01-232-0/+0
|