summaryrefslogtreecommitdiffstats
path: root/src/arch
Commit message (Collapse)AuthorAgeFilesLines
...
* Use fast in-situ test for gate A20 being set, to cut down on theMichael Brown2007-07-131-19/+55
| | | | | | | | number of (potentially very slow) gateA20_set operations. Die with a fatal error if we are unable to set gate A20; if this fails then we are bound to experience memory corruption at a later stage, and I'd prefer to pick it up early.
* Improve error reporting for strange length combinations reported byMichael Brown2007-07-101-6/+21
| | | | | | | | | the UNDI stack. Ignore obviously invalid length combinations (as returned by e.g. VMWare's PXE stack). Limit to one packet per poll to avoid memory exhaustion.
* Set up %ds *before* testing a value in our data segment (d'oh!).Michael Brown2007-07-101-6/+11
| | | | | | | | | Always send EOI; do not chain to BIOS's default interrupt handler. They are just too unpredictable; at least VMware's seems to kill the machine if you go anywhere near it. Disable interrupts after return from PXENV_UNDI_ISR, just in case some dumb PXE stack enables them.
* Report RX errors via netdev_rx_err()Michael Brown2007-07-101-1/+2
|
* Dump first 64 bytes of chained ISR when debugging is enabled.Michael Brown2007-07-101-0/+6
|
* Protect ISR against failure to unhook.Michael Brown2007-07-102-34/+19Star
|
* Master IRQ should be EOIed first, I think.Michael Brown2007-07-101-1/+1
|
* We probably ought not to call INT13 with interrupts disabled.Michael Brown2007-07-101-0/+1
|
* Working code to call the PXE stack from within the ISR.Michael Brown2007-07-102-19/+92
|
* Always increase number of BIOS drives when registeringMichael Brown2007-07-091-3/+5
|
* Change %dl fixup rules for INT13:Michael Brown2007-07-091-11/+16
| | | | | | INT 13,08 : read number of drives from 40:75 INT 13,15 : do nothing all others : restore original value of %dl
* Proof of concept; works, but has several hard-coded hacks.Michael Brown2007-07-091-7/+46
|
* Set CF by default, clear on success (rather than clearing and settingMichael Brown2007-07-091-2/+4
| | | | on failure).
* Add -mpreferred-stack-boundary=2 to i386 CFLAGS as it's almost always a win.Holger Lubitz2007-07-091-0/+3
|
* Use net_device_operations structure and netdev_nullify() to allow forMichael Brown2007-07-071-10/+28
| | | | | | | | | | | safe dropping of the netdev ref by the driver while other refs still exist. Add netdev_irq() method. Net device open()/close() methods should no longer enable or disable IRQs. Remove rx_quota; it wasn't used anywhere and added too much complexity to implementing correct interrupt-masking behaviour in pxe_undi.c.
* convert to zallocHolger Lubitz2007-07-061-2/+1Star
|
* convert to zallocHolger Lubitz2007-07-061-2/+1Star
|
* Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxeMichael Brown2007-07-063-6/+6
|\
| * Merge branch 'master' of /pub/scm/gpxeMarty Connor2007-07-062-10/+72
| |\
| * | Rename .lilo extension to .lkrn and updated dependenciesMarty Connor2007-07-063-6/+6
| | |
* | | Add strlen_user() (will be needed for PXE API extensions)Michael Brown2007-07-061-0/+12
| |/ |/|
* | Add .pdsk target (padded .dsk, suitable for qemu).Michael Brown2007-07-061-0/+7
| |
* | Allocate heap at first usage, rather than assuming we can fit it inMichael Brown2007-07-051-10/+65
|/ | | | below _text. This should help with the gPXE-on-gPXE-via-PXE case.
* Use partition type 0xeb ("EtherBoot"), to avoid any attempts to mountMichael Brown2007-07-051-1/+1
| | | | the Etherboot partition.
* Add .usb targetMichael Brown2007-07-052-0/+34
|
* Working with multi-sector readsMichael Brown2007-07-051-8/+40
|
* hdprefix that works for LBA onlyMichael Brown2007-07-052-311/+82Star
|
* Miscellaneous efficiency improvements, and extend read_sectors toMichael Brown2007-07-051-45/+63
| | | | handle multiple sectors.
* Added active partition locator, and simple MBR built using it.Michael Brown2007-07-052-0/+202
|
* Revert "Added master boot record capable of locating active partition"Michael Brown2007-07-052-203/+0Star
| | | | This reverts commit 844d088c514bb962b3cbd00892db67bad4daa203.
* Added master boot record capable of locating active partitionMichael Brown2007-07-052-0/+203
| | | | (including logical partitions).
* Kill off lots of warnings in via-velocity.c by correcting these definitions.Michael Brown2007-07-051-6/+7
|
* UNDI loader entry point implemented; seems to work.Michael Brown2007-07-041-0/+28
|
* Fix typoMichael Brown2007-07-041-1/+1
|
* Add (untested) UNDI loader C-level implementation.Michael Brown2007-07-041-0/+25
|
* Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxeMichael Brown2007-07-041-31/+0Star
|\
| * remove obsolete file: src/arch/i386/prefix/int19exit.cMarty Connor2007-07-031-31/+0Star
| |
* | Separated out initialisation functions from startup/shutdown functions.Michael Brown2007-07-049-11/+22
|/
* Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxeMichael Brown2007-07-036-235/+4Star
|\
| * Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autobootMarty Connor2007-07-036-235/+4Star
| |
* | We don't actually use the reset functions anywhere, and nothing reallyMichael Brown2007-07-034-4/+4
|/ | | | provides them.
* Work around Etherboot 5.4 bug when multiple packets are received.Michael Brown2007-07-031-1/+38
|
* It's not just Etherboot that fails to generate TX completions.Michael Brown2007-07-031-2/+2
|
* Document TX completion bug.Michael Brown2007-07-031-0/+10
|
* Ensure that pxe_netdev is set before starting up PXE NBP.Michael Brown2007-07-031-3/+10
|
* Use a common base-memory packet buffer for DHCP construction (as usedMichael Brown2007-07-025-33/+28Star
| | | | by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
* pxe_netdev now holds a reference to the network device.Michael Brown2007-07-021-2/+10
| | | | | | | | | Use generic fields in struct device_description rather than assuming that the struct device * is contained within a pci_device or isapnp_device; this assumption is broken when using the undionly driver. Add PXENV_UNDI_SET_STATION_ADDRESS.
* Add ability to resolve relative symbols as well as locate absolute ones.Michael Brown2007-06-301-0/+3
|
* Add gdbsym.c object to help with running gdb-to-qemuMichael Brown2007-06-301-0/+28
|
* Place the actual version string in .data16, rather than just theMichael Brown2007-06-301-1/+1
| | | | pointer to it.