Michael Brown [Tue, 10 Jul 2007 19:59:21 +0000 (20:59 +0100)]
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.
Michael Brown [Tue, 10 Jul 2007 16:08:32 +0000 (17:08 +0100)]
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.
Michael Brown [Tue, 10 Jul 2007 16:01:18 +0000 (17:01 +0100)]
Report RX errors via netdev_rx_err()
Michael Brown [Tue, 10 Jul 2007 15:57:55 +0000 (16:57 +0100)]
Dump first 64 bytes of chained ISR when debugging is enabled.
Michael Brown [Tue, 10 Jul 2007 05:31:11 +0000 (06:31 +0100)]
May be required in some disconnect scenarios
Michael Brown [Tue, 10 Jul 2007 05:25:30 +0000 (06:25 +0100)]
Unplug before sending close() message, to avoid screwing up interfaces
which respond to close with a reopen() (e.g. iSCSI).
Michael Brown [Tue, 10 Jul 2007 05:24:30 +0000 (06:24 +0100)]
Add debug messages to process.c
Michael Brown [Tue, 10 Jul 2007 03:34:53 +0000 (04:34 +0100)]
Protect ISR against failure to unhook.
Michael Brown [Tue, 10 Jul 2007 03:33:59 +0000 (04:33 +0100)]
Master IRQ should be EOIed first, I think.
Michael Brown [Tue, 10 Jul 2007 03:32:30 +0000 (04:32 +0100)]
We probably ought not to call INT13 with interrupts disabled.
Michael Brown [Tue, 10 Jul 2007 03:21:24 +0000 (04:21 +0100)]
Working code to call the PXE stack from within the ISR.
Michael Brown [Mon, 9 Jul 2007 22:10:55 +0000 (23:10 +0100)]
Hopefully solve the problem requiring the occasional "rm -rf bin/deps".
Michael Brown [Mon, 9 Jul 2007 19:42:04 +0000 (20:42 +0100)]
Always increase number of BIOS drives when registering
Michael Brown [Mon, 9 Jul 2007 19:37:39 +0000 (20:37 +0100)]
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
Michael Brown [Mon, 9 Jul 2007 19:28:40 +0000 (20:28 +0100)]
Proof of concept; works, but has several hard-coded hacks.
Michael Brown [Mon, 9 Jul 2007 18:02:41 +0000 (19:02 +0100)]
Set CF by default, clear on success (rather than clearing and setting
on failure).
Michael Brown [Mon, 9 Jul 2007 02:58:46 +0000 (03:58 +0100)]
Remove xfer_ready() (it has been replaced by xfer_window())
Michael Brown [Mon, 9 Jul 2007 02:54:29 +0000 (03:54 +0100)]
Added missing "static"
Michael Brown [Mon, 9 Jul 2007 02:53:06 +0000 (03:53 +0100)]
Remove some obsolete stream-API files
Holger Lubitz [Sun, 17 Jun 2007 20:16:31 +0000 (22:16 +0200)]
Add -mpreferred-stack-boundary=2 to i386 CFLAGS as it's almost always a win.
Holger Lubitz [Sun, 17 Jun 2007 20:15:29 +0000 (22:15 +0200)]
Update Makefile for compilation on ARCH=x86_64
Michael Brown [Mon, 9 Jul 2007 00:10:32 +0000 (01:10 +0100)]
Fix up iscsiboot missing prototype warnings
Michael Brown [Mon, 9 Jul 2007 00:04:54 +0000 (01:04 +0100)]
Add missing static
Michael Brown [Sun, 8 Jul 2007 23:52:45 +0000 (00:52 +0100)]
Fix TX state machine and miscellaneous other bits.
Michael Brown [Sun, 8 Jul 2007 23:00:34 +0000 (00:00 +0100)]
Fix root-path parsing.
Michael Brown [Sun, 8 Jul 2007 21:06:33 +0000 (22:06 +0100)]
Merge branch 'master' into iscsi-update
Michael Brown [Sun, 8 Jul 2007 21:03:12 +0000 (22:03 +0100)]
Add strcspn() and strndup()
Michael Brown [Sun, 8 Jul 2007 21:02:45 +0000 (22:02 +0100)]
Make ref_get() return the reference, for cleaner code.
Michael Brown [Sun, 8 Jul 2007 21:01:49 +0000 (22:01 +0100)]
Ready to start testing
Michael Brown [Sun, 8 Jul 2007 18:33:26 +0000 (19:33 +0100)]
Code in place to use a hypothetical SCSI interface.
Michael Brown [Sun, 8 Jul 2007 17:51:56 +0000 (18:51 +0100)]
Everything except the SCSI interface should now be present
Michael Brown [Sun, 8 Jul 2007 15:04:13 +0000 (16:04 +0100)]
iSCSI updated to use data-xfer interface on the socket side (TCP).
SCSI interface not yet implemented.
Michael Brown [Sun, 8 Jul 2007 13:33:53 +0000 (14:33 +0100)]
Limit xmit window to one MTU. (Path MTU discovery not yet
implemented; should be done at some point.)
Michael Brown [Sun, 8 Jul 2007 13:32:20 +0000 (14:32 +0100)]
Fix typo that was preventing any DHCP option applicators from being
applied.
Michael Brown [Sun, 8 Jul 2007 13:31:51 +0000 (14:31 +0100)]
Add debug message when nameserver setting is applied/changed via DHCP.
Michael Brown [Sun, 8 Jul 2007 13:14:59 +0000 (14:14 +0100)]
TCP limits advertised TCP window to size of application window
obtained via xfer_window().
Michael Brown [Sun, 8 Jul 2007 13:11:07 +0000 (14:11 +0100)]
Separate the "is data ready" function of xfer_seek() into an
xfer_window() function, which can return a scalar rather than a
boolean.
Michael Brown [Sun, 8 Jul 2007 01:10:54 +0000 (02:10 +0100)]
Kill off unused request() method in data-xfer interface.
Michael Brown [Sat, 7 Jul 2007 16:49:59 +0000 (17:49 +0100)]
Re-added symtab to CLEANUP list
Michael Brown [Sat, 7 Jul 2007 16:49:07 +0000 (17:49 +0100)]
Revert "Cope with builds with differing debug options within a second of each"
This reverts commit
fc5f6c9de280e117160817be332f3b51f138a4ec.
Reverted commit breaks the much more common case of changing the debug
options in subsequent builds without any code changes.
Michael Brown [Sat, 7 Jul 2007 15:43:39 +0000 (16:43 +0100)]
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.
Michael Brown [Sat, 7 Jul 2007 15:40:58 +0000 (16:40 +0100)]
Revert "Replace natsemi driver with Indolent's updated one that uses the gPXE API"
This reverts commit
3487640397838bc3147881a0e7ded4333239dbd5.
Michael Brown [Sat, 7 Jul 2007 03:01:52 +0000 (04:01 +0100)]
Merge branch 'zalloc'
Michael Brown [Sat, 7 Jul 2007 02:59:37 +0000 (03:59 +0100)]
Revert "convert to zalloc"
This reverts commit
68add6e814091f55e46afbef0b63f3d61f9549ba.
Holger Lubitz [Fri, 6 Jul 2007 23:56:37 +0000 (01:56 +0200)]
Revert "convert to zalloc"
This reverts commit
a4bea78974620820774a59f49646eafbdb481148.
Holger Lubitz [Fri, 6 Jul 2007 23:56:27 +0000 (01:56 +0200)]
Revert "convert to zalloc"
This reverts commit
3414fd8df8c514947254fd065d407e8db115221f.
Holger Lubitz [Fri, 6 Jul 2007 23:56:15 +0000 (01:56 +0200)]
Revert "convert to zalloc"
This reverts commit
636bd2cd0abfd9ae774456cd1c00e3f8bb63e7d8.
Holger Lubitz [Fri, 6 Jul 2007 23:55:45 +0000 (01:55 +0200)]
Revert "convert to zalloc"
This reverts commit
7297f04481f6737b0a40161da6d8413ca0f478d2.
Holger Lubitz [Fri, 6 Jul 2007 23:55:23 +0000 (01:55 +0200)]
Revert "convert to zalloc"
This reverts commit
5ce16b03a1cb036ad0ab818473fe8f9c158949ed.
Holger Lubitz [Fri, 6 Jul 2007 19:08:54 +0000 (21:08 +0200)]
convert to zalloc
Holger Lubitz [Fri, 6 Jul 2007 19:08:41 +0000 (21:08 +0200)]
convert to zalloc
Holger Lubitz [Fri, 6 Jul 2007 19:08:29 +0000 (21:08 +0200)]
convert to zalloc
Holger Lubitz [Fri, 6 Jul 2007 19:08:21 +0000 (21:08 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:21 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:18 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:15 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:13 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:10 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:07 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:05 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:03 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:25:00 +0000 (01:25 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:57 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:54 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:51 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:49 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:46 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:44 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:41 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:34 +0000 (01:24 +0200)]
convert to zalloc
Holger Lubitz [Sun, 17 Jun 2007 23:24:14 +0000 (01:24 +0200)]
convert to zalloc
Michael Brown [Fri, 6 Jul 2007 16:07:50 +0000 (17:07 +0100)]
Apply global DHCP options when register_dhcp_options() is called. Do
not apply DHCP options in dhcp_configure_netdev().
Michael Brown [Fri, 6 Jul 2007 12:31:58 +0000 (13:31 +0100)]
Merge branch 'master' of rom.etherboot.org:/gpxe
Michael Brown [Fri, 6 Jul 2007 12:31:40 +0000 (13:31 +0100)]
Added PXENV_GET_FILE_SIZE.
Documented non-blocking nature of PXENV_FILE_READ.
Changed FileName field in PXENV_FILE_OPEN to be a SEGOFF16, to avoid a
fixed 256-byte length limit on URLs.
Michael Brown [Fri, 6 Jul 2007 12:07:10 +0000 (13:07 +0100)]
Add strlen_user() (will be needed for PXE API extensions)
Marty Connor [Fri, 6 Jul 2007 12:04:55 +0000 (08:04 -0400)]
Merge branch 'master' of /pub/scm/gpxe
Marty Connor [Fri, 6 Jul 2007 12:04:06 +0000 (08:04 -0400)]
Rename .lilo extension to .lkrn and updated dependencies
Michael Brown [Thu, 5 Jul 2007 22:37:17 +0000 (23:37 +0100)]
Add .pdsk target (padded .dsk, suitable for qemu).
Michael Brown [Thu, 5 Jul 2007 22:36:45 +0000 (23:36 +0100)]
Pad ROM images to 512 bytes, not powers of two
Michael Brown [Thu, 5 Jul 2007 21:30:34 +0000 (22:30 +0100)]
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.
Michael Brown [Thu, 5 Jul 2007 17:47:46 +0000 (18:47 +0100)]
Remap EBADF to PXENV_STATUS_TFTP_FILE_NOT_FOUND; the only user is
posix_io.c and this PXE error makes more sense in this context.
Michael Brown [Thu, 5 Jul 2007 17:38:14 +0000 (18:38 +0100)]
Add concept of DHCP option applicators.
Michael Brown [Thu, 5 Jul 2007 17:03:09 +0000 (18:03 +0100)]
First draft of PXE extensions API.
Michael Brown [Thu, 5 Jul 2007 16:23:03 +0000 (17:23 +0100)]
Use netdev_rx_err() to report receive errors.
Michael Brown [Thu, 5 Jul 2007 16:18:27 +0000 (17:18 +0100)]
Allow recording of TX and RX errors to aid in end-user debugging.
Michael Brown [Thu, 5 Jul 2007 13:20:55 +0000 (14:20 +0100)]
Use partition type 0xeb ("EtherBoot"), to avoid any attempts to mount
the Etherboot partition.
Michael Brown [Thu, 5 Jul 2007 13:15:58 +0000 (14:15 +0100)]
Merge branch 'master' of rom.etherboot.org:/gpxe
Michael Brown [Thu, 5 Jul 2007 13:15:43 +0000 (14:15 +0100)]
Add .usb target
Marty Connor [Thu, 5 Jul 2007 12:54:12 +0000 (08:54 -0400)]
Replace natsemi driver with Indolent's updated one that uses the gPXE API
This version uses the gPXE driver API rather than the legacy wrapper API.
Michael Brown [Thu, 5 Jul 2007 12:30:49 +0000 (13:30 +0100)]
Working with multi-sector reads
Michael Brown [Thu, 5 Jul 2007 11:58:16 +0000 (12:58 +0100)]
hdprefix that works for LBA only
Michael Brown [Thu, 5 Jul 2007 11:36:39 +0000 (12:36 +0100)]
Miscellaneous efficiency improvements, and extend read_sectors to
handle multiple sectors.
Michael Brown [Thu, 5 Jul 2007 11:04:53 +0000 (12:04 +0100)]
Make masking constants unsigned, to avoid a gcc3-only compiler warning.
Michael Brown [Thu, 5 Jul 2007 11:00:35 +0000 (12:00 +0100)]
Switch compiler warning on tcp_open() to a #warning
Marty Connor [Thu, 5 Jul 2007 01:58:28 +0000 (21:58 -0400)]
Warnings purge for via-velocity.[ch]
Marty Connor [Thu, 5 Jul 2007 00:14:10 +0000 (20:14 -0400)]
Update warnings in depca.c ns8390.c
Marty Connor [Wed, 4 Jul 2007 23:49:46 +0000 (19:49 -0400)]
Purge warnings from tg3.c
Marty Connor [Wed, 4 Jul 2007 23:47:13 +0000 (19:47 -0400)]
Merge branch 'master' of /pub/scm/gpxe
Marty Connor [Wed, 4 Jul 2007 23:47:01 +0000 (19:47 -0400)]
Purge warnings from prism2 drivers
Michael Brown [Wed, 4 Jul 2007 23:21:01 +0000 (00:21 +0100)]
Added active partition locator, and simple MBR built using it.