Michael Brown
2ac7694c3e
Improve error reporting for strange length combinations reported by
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.
17 years ago
Michael Brown
efd322091d
Set up %ds *before* testing a value in our data segment (d'oh!).
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.
17 years ago
Michael Brown
f6f9a3098d
Report RX errors via netdev_rx_err()
17 years ago
Michael Brown
fb16f90699
Dump first 64 bytes of chained ISR when debugging is enabled.
17 years ago
Michael Brown
edc4648c39
Protect ISR against failure to unhook.
17 years ago
Michael Brown
4e14b020a5
Master IRQ should be EOIed first, I think.
17 years ago
Michael Brown
19871cbb96
We probably ought not to call INT13 with interrupts disabled.
17 years ago
Michael Brown
027fed72c1
Working code to call the PXE stack from within the ISR.
17 years ago
Michael Brown
cd7e296cbe
Always increase number of BIOS drives when registering
17 years ago
Michael Brown
b90d321dfb
Change %dl fixup rules for INT13:
INT 13,08 : read number of drives from 40:75
INT 13,15 : do nothing
all others : restore original value of %dl
17 years ago
Michael Brown
c7d9fdb5b9
Proof of concept; works, but has several hard-coded hacks.
17 years ago
Michael Brown
8bce52d348
Set CF by default, clear on success (rather than clearing and setting
on failure).
17 years ago
Holger Lubitz
4ff85d9f15
Add -mpreferred-stack-boundary=2 to i386 CFLAGS as it's almost always a win.
17 years ago
Michael Brown
4c418d2100
Use net_device_operations structure and netdev_nullify() to allow for
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.
17 years ago
Holger Lubitz
c7549bcebe
convert to zalloc
17 years ago
Holger Lubitz
bb61774ee4
convert to zalloc
17 years ago
Michael Brown
f660e8ef58
Add strlen_user() (will be needed for PXE API extensions)
17 years ago
Marty Connor
28d8d828b3
Rename .lilo extension to .lkrn and updated dependencies
17 years ago
Michael Brown
763a3eab8a
Add .pdsk target (padded .dsk, suitable for qemu).
17 years ago
Michael Brown
fbda4837b0
Allocate heap at first usage, rather than assuming we can fit it in
below _text. This should help with the gPXE-on-gPXE-via-PXE case.
17 years ago
Michael Brown
07ea125213
Use partition type 0xeb ("EtherBoot"), to avoid any attempts to mount
the Etherboot partition.
17 years ago
Michael Brown
6e082c9b81
Add .usb target
17 years ago
Michael Brown
a0f078d7f5
Working with multi-sector reads
17 years ago
Michael Brown
66208dd65d
hdprefix that works for LBA only
17 years ago
Michael Brown
839960276d
Miscellaneous efficiency improvements, and extend read_sectors to
handle multiple sectors.
17 years ago
Michael Brown
3c2d50e5de
Added active partition locator, and simple MBR built using it.
17 years ago
Michael Brown
738ebaf4a5
Revert "Added master boot record capable of locating active partition"
This reverts commit 844d088c51 .
17 years ago
Michael Brown
844d088c51
Added master boot record capable of locating active partition
(including logical partitions).
17 years ago
Michael Brown
5e3f2247e0
Kill off lots of warnings in via-velocity.c by correcting these definitions.
17 years ago
Michael Brown
ac69b85adb
UNDI loader entry point implemented; seems to work.
17 years ago
Michael Brown
1ecb9acb87
Fix typo
17 years ago
Michael Brown
dca470cb21
Add (untested) UNDI loader C-level implementation.
17 years ago
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
17 years ago
Marty Connor
79238335b0
remove obsolete file: src/arch/i386/prefix/int19exit.c
17 years ago
Marty Connor
9b3c4e4d79
Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autoboot
17 years ago
Michael Brown
fae10a7ca1
We don't actually use the reset functions anywhere, and nothing really
provides them.
17 years ago
Michael Brown
2dc8ed1eb8
Work around Etherboot 5.4 bug when multiple packets are received.
17 years ago
Michael Brown
0958726ebb
It's not just Etherboot that fails to generate TX completions.
17 years ago
Michael Brown
adb3dd03e5
Document TX completion bug.
17 years ago
Michael Brown
071356d976
Ensure that pxe_netdev is set before starting up PXE NBP.
17 years ago
Michael Brown
e42eba4af4
Use a common base-memory packet buffer for DHCP construction (as used
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
17 years ago
Michael Brown
5f17089b14
pxe_netdev now holds a reference to the network device.
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.
17 years ago
Michael Brown
d5451d210c
Add ability to resolve relative symbols as well as locate absolute ones.
17 years ago
Michael Brown
8f6a4e8140
Add gdbsym.c object to help with running gdb-to-qemu
17 years ago
Michael Brown
e1646b4080
Place the actual version string in .data16, rather than just the
pointer to it.
17 years ago
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
17 years ago
Michael Brown
d71b116f54
Fix stack on return from PXE NBP so that we can return properly.
17 years ago
Michael Brown
045fb24557
Use internal real-mode stack from non-returnable prefixes
17 years ago
Michael Brown
00473f0952
Revert "Move stack to below 0x7c00; leaving it at the default location"
This reverts commit 03ca71c38d .
17 years ago
Michael Brown
03ca71c38d
Move stack to below 0x7c00; leaving it at the default location
(0x7ef4) tends to really screw up anything that loads at 0x7c00...
17 years ago