Udayan Kumar
5e91a38269
interrupt in natsemi
2007-07-14 21:08:05 -04:00
Udayan Kumar
0d4ecfa63c
enabled interrupt in natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
9ad59b60c5
added change log to natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
6d4dafdc6e
added netdev_tx_complete to natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
c6d0ef3478
added endianness to natsemi.
2007-07-14 21:08:05 -04:00
Udayan Kumar
0c324caecf
free_netdev -> netdev_put
2007-07-14 21:08:05 -04:00
Udayan Kumar
623d10c66f
debugging natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
4a73631106
added eeprom from rtl8139 but not working
2007-07-14 21:08:05 -04:00
Udayan Kumar
9e962c3a01
natsemi now needs eeprom access
2007-07-14 21:08:05 -04:00
Udayan Kumar
99c680f743
same as before, but now compiling natsemi
2007-07-14 21:08:05 -04:00
Udayan Kumar
c8f6207e7e
added polling and transmit. eeprom access still remaining
2007-07-14 21:08:05 -04:00
Udayan Kumar
97efdbe9d7
skel of new natsemi driver (still in developments)
2007-07-14 21:08:05 -04:00
Udayan Kumar
4cea792470
testing if it works
2007-07-14 21:08:05 -04:00
Michael Brown
208ff0d42e
Revert mdc's warnings purge on natsemi.c, to allow for a clean rebase.
2007-07-14 21:08:05 -04:00
Michael Brown
0b5059c40b
Skip the length field prepended by util/nrv2b.c
2007-07-15 02:01:17 +01:00
Michael Brown
b37e267d1b
Modified calling convention: we now update %esi and %edi just like a
...
"rep movsb".
2007-07-15 01:51:32 +01:00
Michael Brown
3feac9465e
"not" doesn't affect flags, "xor $-1" does.
2007-07-15 01:25:13 +01:00
Michael Brown
7e3a8f5e10
Remove more obsolete files
2007-07-14 23:16:01 +01:00
Michael Brown
26473105cd
On advice of hpa: be more patient with the KBC and SCPA methods; retry
...
in a long loop before giving up on them. Record method which worked
and default to that method on next attempt.
2007-07-14 20:56:12 +01:00
Michael Brown
adf192f566
Shrink cpu.c and render it useful for our purposes.
2007-07-14 19:12:13 +01:00
Michael Brown
25fd42ca87
Reduced etherboot.h dependencies to avoid unnecessary rebuilds.
...
etherboot.h is only now used by drivers that have not been updated to
the new API.
2007-07-14 15:52:23 +01:00
Michael Brown
e330db3c74
Dead code removal.
...
Kill off use of etherboot.h outside drivers/net.
2007-07-14 15:42:26 +01:00
Michael Brown
95c07736cb
Be more aggressive in attempts to enable A20, now that we have the
...
optimisation of only trying to do so when necessary.
2007-07-14 14:21:18 +01:00
Michael Brown
8624fdc445
Kill off the enforced RX quota; it only seems to hurt on real hardware.
2007-07-14 00:30:11 +01:00
Michael Brown
57b5e227ff
Use fast in-situ test for gate A20 being set, to cut down on the
...
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.
2007-07-13 13:32:49 +01:00
Michael Brown
096fa94f0c
Add support for TCP timestamps
2007-07-13 11:32:53 +01:00
Michael Brown
eb530845d4
Adjust received length to take into account any already-received data
...
in tcp_rx_data().
Clarify comments on discarding duplicate or out-of-order data.
2007-07-13 11:31:58 +01:00
Michael Brown
d5735c631c
Avoid reusing auto-allocated ports after connection close.
2007-07-13 11:25:00 +01:00
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.
2007-07-10 20:59:21 +01:00
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.
2007-07-10 17:08:32 +01:00
Michael Brown
f6f9a3098d
Report RX errors via netdev_rx_err()
2007-07-10 17:01:18 +01:00
Michael Brown
fb16f90699
Dump first 64 bytes of chained ISR when debugging is enabled.
2007-07-10 16:57:55 +01:00
Michael Brown
b3e44a24b1
May be required in some disconnect scenarios
2007-07-10 06:31:11 +01:00
Michael Brown
4075f7596b
Unplug before sending close() message, to avoid screwing up interfaces
...
which respond to close with a reopen() (e.g. iSCSI).
2007-07-10 06:25:30 +01:00
Michael Brown
d3ad76bc74
Add debug messages to process.c
2007-07-10 06:24:30 +01:00
Michael Brown
edc4648c39
Protect ISR against failure to unhook.
2007-07-10 04:34:53 +01:00
Michael Brown
4e14b020a5
Master IRQ should be EOIed first, I think.
2007-07-10 04:33:59 +01:00
Michael Brown
19871cbb96
We probably ought not to call INT13 with interrupts disabled.
2007-07-10 04:32:30 +01:00
Michael Brown
027fed72c1
Working code to call the PXE stack from within the ISR.
2007-07-10 04:21:24 +01:00
Michael Brown
976a8514cb
Hopefully solve the problem requiring the occasional "rm -rf bin/deps".
2007-07-09 23:10:55 +01:00
Michael Brown
cd7e296cbe
Always increase number of BIOS drives when registering
2007-07-09 20:42:04 +01:00
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
2007-07-09 20:37:39 +01:00
Michael Brown
c7d9fdb5b9
Proof of concept; works, but has several hard-coded hacks.
2007-07-09 20:28:40 +01:00
Michael Brown
8bce52d348
Set CF by default, clear on success (rather than clearing and setting
...
on failure).
2007-07-09 19:02:41 +01:00
Michael Brown
f0c44f2f71
Remove xfer_ready() (it has been replaced by xfer_window())
2007-07-09 03:58:46 +01:00
Michael Brown
55d03ccbe3
Added missing "static"
2007-07-09 03:54:29 +01:00
Michael Brown
9dc6a1e678
Remove some obsolete stream-API files
2007-07-09 03:53:06 +01:00
Holger Lubitz
4ff85d9f15
Add -mpreferred-stack-boundary=2 to i386 CFLAGS as it's almost always a win.
2007-07-09 03:32:54 +01:00
Holger Lubitz
bfc4737751
Update Makefile for compilation on ARCH=x86_64
2007-07-09 03:31:14 +01:00
Michael Brown
487dc5be56
Fix up iscsiboot missing prototype warnings
2007-07-09 01:10:32 +01:00
Michael Brown
fd4fcb57db
Add missing static
2007-07-09 01:04:54 +01:00
Michael Brown
fabd0f5fec
Fix TX state machine and miscellaneous other bits.
2007-07-09 00:52:45 +01:00
Michael Brown
ef9fd938d0
Fix root-path parsing.
2007-07-09 00:00:34 +01:00
Michael Brown
cc80750694
Merge branch 'master' into iscsi-update
2007-07-08 22:06:33 +01:00
Michael Brown
7137c20ed1
Add strcspn() and strndup()
2007-07-08 22:03:12 +01:00
Michael Brown
ed20fee0cf
Make ref_get() return the reference, for cleaner code.
2007-07-08 22:02:45 +01:00
Michael Brown
b94420a52b
Ready to start testing
2007-07-08 22:01:49 +01:00
Michael Brown
edd1b173a7
Code in place to use a hypothetical SCSI interface.
2007-07-08 19:33:26 +01:00
Michael Brown
f2fa390ae6
Everything except the SCSI interface should now be present
2007-07-08 18:51:56 +01:00
Michael Brown
9b28b25332
iSCSI updated to use data-xfer interface on the socket side (TCP).
...
SCSI interface not yet implemented.
2007-07-08 16:04:13 +01:00
Michael Brown
edded7546e
Limit xmit window to one MTU. (Path MTU discovery not yet
...
implemented; should be done at some point.)
2007-07-08 14:33:53 +01:00
Michael Brown
3e1dd0772a
Fix typo that was preventing any DHCP option applicators from being
...
applied.
2007-07-08 14:32:20 +01:00
Michael Brown
237e23c1c9
Add debug message when nameserver setting is applied/changed via DHCP.
2007-07-08 14:31:51 +01:00
Michael Brown
35afb379af
TCP limits advertised TCP window to size of application window
...
obtained via xfer_window().
2007-07-08 14:14:59 +01:00
Michael Brown
b34d4d0449
Separate the "is data ready" function of xfer_seek() into an
...
xfer_window() function, which can return a scalar rather than a
boolean.
2007-07-08 14:11:07 +01:00
Michael Brown
ca4c6f9eee
Kill off unused request() method in data-xfer interface.
2007-07-08 02:10:54 +01:00
Michael Brown
e5d8ede978
Re-added symtab to CLEANUP list
2007-07-07 17:49:59 +01:00
Michael Brown
e505ceb942
Revert "Cope with builds with differing debug options within a second of each"
...
This reverts commit fc5f6c9de2
.
Reverted commit breaks the much more common case of changing the debug
options in subsequent builds without any code changes.
2007-07-07 17:49:07 +01:00
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.
2007-07-07 16:43:39 +01:00
Michael Brown
2823688a92
Revert "Replace natsemi driver with Indolent's updated one that uses the gPXE API"
...
This reverts commit 3487640397
.
2007-07-07 16:40:58 +01:00
Michael Brown
627feee265
Merge branch 'zalloc'
2007-07-07 04:01:52 +01:00
Michael Brown
436adb2890
Revert "convert to zalloc"
...
This reverts commit 68add6e814
.
2007-07-07 03:59:37 +01:00
Holger Lubitz
85e04b5837
Revert "convert to zalloc"
...
This reverts commit a4bea78974
.
2007-07-07 01:56:37 +02:00
Holger Lubitz
e3c72a3438
Revert "convert to zalloc"
...
This reverts commit 3414fd8df8
.
2007-07-07 01:56:27 +02:00
Holger Lubitz
ac323c5e4d
Revert "convert to zalloc"
...
This reverts commit 636bd2cd0a
.
2007-07-07 01:56:15 +02:00
Holger Lubitz
50fe2159d5
Revert "convert to zalloc"
...
This reverts commit 7297f04481
.
2007-07-07 01:55:45 +02:00
Holger Lubitz
a772dc4a2a
Revert "convert to zalloc"
...
This reverts commit 5ce16b03a1
.
2007-07-07 01:55:23 +02:00
Holger Lubitz
a4d3476e0e
convert to zalloc
2007-07-06 21:08:54 +02:00
Holger Lubitz
389c63d7c4
convert to zalloc
2007-07-06 21:08:41 +02:00
Holger Lubitz
32e4ca8ae3
convert to zalloc
2007-07-06 21:08:29 +02:00
Holger Lubitz
1ccb6f9dc6
convert to zalloc
2007-07-06 21:08:21 +02:00
Holger Lubitz
da3c785816
convert to zalloc
2007-07-06 20:52:58 +02:00
Holger Lubitz
2b9fb513f4
convert to zalloc
2007-07-06 20:52:01 +02:00
Holger Lubitz
7872b890fe
convert to zalloc
2007-07-06 20:50:32 +02:00
Holger Lubitz
7fa85d19b9
convert to zalloc
2007-07-06 20:49:26 +02:00
Holger Lubitz
dc6c1c294d
convert to zalloc
2007-07-06 20:47:15 +02:00
Holger Lubitz
68add6e814
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
5ce16b03a1
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
7297f04481
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
636bd2cd0a
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
3414fd8df8
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
a4bea78974
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
6def8592ed
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
75ff85441b
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
f77d9469a4
convert to zalloc
2007-07-06 20:19:55 +02:00
Holger Lubitz
aca232c973
convert to zalloc
2007-07-06 20:19:55 +02:00
Holger Lubitz
6d0332b5b3
convert to zalloc
2007-07-06 20:19:55 +02:00
Holger Lubitz
c7549bcebe
convert to zalloc
2007-07-06 20:19:06 +02:00
Holger Lubitz
bb61774ee4
convert to zalloc
2007-07-06 20:19:06 +02:00
Michael Brown
934b70d62c
Apply global DHCP options when register_dhcp_options() is called. Do
...
not apply DHCP options in dhcp_configure_netdev().
2007-07-06 17:07:50 +01:00
Michael Brown
311637503d
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-06 13:31:58 +01:00
Michael Brown
bfc335faa8
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.
2007-07-06 13:31:40 +01:00
Michael Brown
f660e8ef58
Add strlen_user() (will be needed for PXE API extensions)
2007-07-06 13:07:10 +01:00
Marty Connor
74a1c77820
Merge branch 'master' of /pub/scm/gpxe
2007-07-06 08:04:55 -04:00
Marty Connor
28d8d828b3
Rename .lilo extension to .lkrn and updated dependencies
2007-07-06 08:04:06 -04:00
Michael Brown
763a3eab8a
Add .pdsk target (padded .dsk, suitable for qemu).
2007-07-05 23:37:17 +01:00
Michael Brown
405be071de
Pad ROM images to 512 bytes, not powers of two
2007-07-05 23:36:45 +01:00
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.
2007-07-05 22:30:34 +01:00
Michael Brown
b3ca73c303
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.
2007-07-05 18:47:46 +01:00
Michael Brown
1567b69895
Add concept of DHCP option applicators.
2007-07-05 18:38:14 +01:00
Michael Brown
d64e1be1f8
First draft of PXE extensions API.
2007-07-05 18:03:09 +01:00
Michael Brown
ed7eae6005
Use netdev_rx_err() to report receive errors.
2007-07-05 17:23:03 +01:00
Michael Brown
539ff45fd0
Allow recording of TX and RX errors to aid in end-user debugging.
2007-07-05 17:18:27 +01:00
Michael Brown
07ea125213
Use partition type 0xeb ("EtherBoot"), to avoid any attempts to mount
...
the Etherboot partition.
2007-07-05 14:20:55 +01:00
Michael Brown
db1d99df39
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-05 14:15:58 +01:00
Michael Brown
6e082c9b81
Add .usb target
2007-07-05 14:15:43 +01:00
Marty Connor
3487640397
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.
2007-07-05 08:54:12 -04:00
Michael Brown
a0f078d7f5
Working with multi-sector reads
2007-07-05 13:30:49 +01:00
Michael Brown
66208dd65d
hdprefix that works for LBA only
2007-07-05 12:58:16 +01:00
Michael Brown
839960276d
Miscellaneous efficiency improvements, and extend read_sectors to
...
handle multiple sectors.
2007-07-05 12:36:39 +01:00
Michael Brown
bdd1a0f462
Make masking constants unsigned, to avoid a gcc3-only compiler warning.
2007-07-05 12:04:53 +01:00
Michael Brown
8156f6bd19
Switch compiler warning on tcp_open() to a #warning
2007-07-05 12:00:35 +01:00
Marty Connor
1069a74d20
Warnings purge for via-velocity.[ch]
2007-07-04 21:58:28 -04:00
Marty Connor
8d39559192
Update warnings in depca.c ns8390.c
2007-07-04 20:14:10 -04:00
Marty Connor
13016297ed
Purge warnings from tg3.c
2007-07-04 19:49:46 -04:00
Marty Connor
a75fb80107
Merge branch 'master' of /pub/scm/gpxe
2007-07-04 19:47:13 -04:00
Marty Connor
e5950283ec
Purge warnings from prism2 drivers
2007-07-04 19:47:01 -04:00
Michael Brown
3c2d50e5de
Added active partition locator, and simple MBR built using it.
2007-07-05 00:21:01 +01:00
Michael Brown
738ebaf4a5
Revert "Added master boot record capable of locating active partition"
...
This reverts commit 844d088c51
.
2007-07-05 00:20:04 +01:00
Michael Brown
7918fc97b8
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-05 00:05:36 +01:00
Michael Brown
844d088c51
Added master boot record capable of locating active partition
...
(including logical partitions).
2007-07-05 00:05:26 +01:00
Michael Brown
5e3f2247e0
Kill off lots of warnings in via-velocity.c by correcting these definitions.
2007-07-04 23:36:16 +01:00
Marty Connor
77c1777b44
Merge branch 'master' of /pub/scm/gpxe
2007-07-04 18:33:22 -04:00
Marty Connor
b219814627
Remove deprecation of pci_bar_size()
2007-07-04 18:28:37 -04:00
Marty Connor
1af1668c95
Warnings purge of drivers (continued)
2007-07-04 05:52:56 -04:00
Michael Brown
ac69b85adb
UNDI loader entry point implemented; seems to work.
2007-07-04 03:23:02 +01:00
Michael Brown
0324d5ff70
!PXE and PXENV+ structures are in code segment, not data segment.
2007-07-04 03:20:18 +01:00
Michael Brown
1ecb9acb87
Fix typo
2007-07-04 02:25:07 +01:00
Michael Brown
fc5f6c9de2
Cope with builds with differing debug options within a second of each
...
other.
2007-07-04 02:24:24 +01:00
Michael Brown
dca470cb21
Add (untested) UNDI loader C-level implementation.
2007-07-03 23:41:35 +01:00
Michael Brown
7db6b4b79c
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-03 23:10:16 +01:00
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
2007-07-03 23:09:56 +01:00
Marty Connor
79238335b0
remove obsolete file: src/arch/i386/prefix/int19exit.c
2007-07-03 16:24:06 -04:00
Michael Brown
a5f33ea283
Added missing line to set return status code.
2007-07-03 21:22:12 +01:00
Michael Brown
01b3dd4fc3
Line buffer API changed a while ago
2007-07-03 21:21:50 +01:00
Marty Connor
ec0da04e7d
Warnings purge iscsiboot.c
2007-07-03 16:20:54 -04:00
Michael Brown
1f24ba73c4
Added missing "extern"
2007-07-03 21:12:54 +01:00
Michael Brown
cbd4542dc0
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-03 21:09:26 +01:00
Marty Connor
6be8cdbb6f
Merge branch 'master' of /pub/scm/gpxe
2007-07-03 16:02:26 -04:00
Marty Connor
9b3c4e4d79
Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autoboot
2007-07-03 16:02:15 -04:00