david/ipxe
Archived
1
0
Commit Graph

2521 Commits

Author SHA1 Message Date
Holger Lubitz
9a4790667a make multiboot_load static 2007-07-27 22:01:23 +02:00
Holger Lubitz
dc38303ff9 make nbi_load static 2007-07-27 22:00:51 +02:00
Holger Lubitz
e6cfa7ced9 make http_open static 2007-07-27 21:59:09 +02:00
Holger Lubitz
5ec4e2ad50 make eltorito_load static 2007-07-27 21:58:31 +02:00
Holger Lubitz
909ad9e80a make cards_found static and add missing initialization 2007-07-27 21:50:12 +02:00
Holger Lubitz
3cb133d27d make bool m_echo static 2007-07-27 21:47:28 +02:00
Holger Lubitz
ac1e0aa63e remove has_key by #if 0'ing out 2007-07-27 21:46:21 +02:00
Holger Lubitz
0e0843a872 make _wgetc static 2007-07-27 21:45:04 +02:00
Holger Lubitz
59ad3dac40 Merge branch 'master' into symcheck2 2007-07-27 21:40:38 +02:00
Holger Lubitz
9e7b165017 make __udivmoddi4 static 2007-07-27 21:39:58 +02:00
Holger Lubitz
77ffd636fa make RTL8169_READ_GMII_REG, RTL8169_WRITE_GMII_REG static 2007-07-27 21:39:31 +02:00
Holger Lubitz
9280f2649a make struct _softlabelkeys *slks static 2007-07-27 21:38:45 +02:00
Holger Lubitz
fa11865de0 make add_ndp_entry static 2007-07-27 21:37:29 +02:00
Holger Lubitz
ed06bd8a89 make isspace static 2007-07-27 21:36:53 +02:00
Holger Lubitz
29134e35dc make md5_steps static 2007-07-27 21:36:16 +02:00
Holger Lubitz
97aade0d1f make imgfill_cmdline static 2007-07-27 21:35:17 +02:00
Holger Lubitz
42910594f7 disable AES_convert_key by #if 0'ing it out (suggested by mcb30) 2007-07-27 21:33:53 +02:00
Holger Lubitz
1ec846b038 make netboot() static 2007-07-27 21:31:45 +02:00
Holger Lubitz
426c2c150d disable AES_convert_key by #if 0'ing it out (suggested by mcb30) 2007-07-27 21:31:11 +02:00
Michael Brown
47a86bca2d Prepare for iBFT merge when possible. iscsiboot.c contains a really,
really ugly hack at present, but that doesn't hugely matter since I'm
aiming to change the interface to iSCSI devices anyway within the next
week.
2007-07-26 02:13:38 +01:00
Michael Brown
84c347c7de Inhibit a spurious warning on GCC 4.0.1 2007-07-26 00:46:27 +01:00
Michael Brown
2c7ffa8c27 Added two lines of code that were completely missing! 2007-07-25 13:32:02 +01:00
Michael Brown
09118cd5bf Don't overwrite %dl with a (potentially) modified drive number if we
already handled the INT13 call.
2007-07-25 02:03:29 +01:00
Michael Brown
d5e39286f7 We probably shouldn't leave interrupts disabled when starting an OS. 2007-07-25 02:02:24 +01:00
Michael Brown
9aa61ad5a2 Add per-file error identifiers 2007-07-24 17:11:31 +01:00
Michael Brown
f0acd8d7a7 Define -DOBJECT when generating Makefile rules, for consistency.
Inhibit -Werror when generating Makefile rules, to prevent warnings
from killing the dependency list.
2007-07-24 15:19:09 +01:00
Michael Brown
3f338b7b80 Include errno.h in the few drivers which use it, rather than in nic.h 2007-07-24 14:05:32 +01:00
Michael Brown
ed9ba18ec6 Allow -Werror to be temporarily disabled using "make NO_WERROR=1" 2007-07-24 14:01:14 +01:00
Michael Brown
75912b3b77 Remove some obsolete sections of librm.h and libkir.h.
Add some of the missing parts to libkir.h.
2007-07-24 12:46:07 +01:00
Michael Brown
b188311edd We can finally enable -Werror :) 2007-07-24 12:43:11 +01:00
Michael Brown
90b5315db0 Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe 2007-07-24 12:37:09 +01:00
Marty Connor
02a7514128 Change #warning to FIXME for ns8390.c
This driver really needs to be rewritten.
It tries to build both ISA and PCI images,
and makes life diffifult for the build system
and rom-o-matic.net.  The warning was just a reminder
that it needs to be cleaned up and re-factored
to split the PCI and ISA drivers.
2007-07-22 21:00:55 -04:00
Marty Connor
4e177aee17 Change #warning to FIXME for depca
This ancient ISA driver should probably be removed.
It is hard to get a card to test it with, and there
are comments to the effect that it cannot work with
relocation.  I would be quite interested to get a
bug report by someone who actually has this card.
2007-07-22 20:56:26 -04:00
Marty Connor
767a3cef77 Changed #warning to FIXME for nvo hack warning. 2007-07-22 20:52:32 -04:00
Marty Connor
63c9131eeb Add NIC to targets that are always made.
Even though it is only currently used for rom-o-matic.net code,
it is good to make sure it gets built, and that the parsing code
is working.
2007-07-22 20:41:53 -04:00
Michael Brown
07e11f8af9 Minor debug improvement 2007-07-19 17:01:21 +01:00
Michael Brown
2cfe0dee1f Don't trash the %ecx value returned by relocate(). This was causing
us to round down the size for the relocation copy to the nearest 64kB
(+0x10 bytes); this just happened to work on most machines because the
last 64kB of the image is all-zeroes anyway (it's the .bss).
2007-07-19 16:07:31 +01:00
Michael Brown
a8111e8ab7 Remove INT 13,4b handler; it represents an incomplete feature (CD-ROM
emulation support) for an unknown purpose, and breaks grub.
2007-07-19 11:16:05 +01:00
Michael Brown
0d9d2ccbae Completed definition of struct int13_cdrom_specification, and moved to
int13.h.
2007-07-19 11:15:01 +01:00
Michael Brown
013d381e3c Real-mode code might set the direction flag, which would cause carnage. 2007-07-17 13:46:37 +01:00
Michael Brown
c94cdf2b7d Move .zinfo to libprefix.S; it doesn't belong with the decompression code. 2007-07-17 12:52:54 +01:00
Michael Brown
cb237819ca Produce no output unless -v is specified or an error occurs. 2007-07-17 01:59:48 +01:00
Michael Brown
dc52db4920 Removed dead code identified by symcheck 2007-07-17 01:43:19 +01:00
Michael Brown
94415b7669 Added missing "static" declarations 2007-07-17 01:42:10 +01:00
Michael Brown
19904804da Restore the "shared symbol found only in a single object should be
treated as being provided by that object" code.
2007-07-17 01:39:06 +01:00
Michael Brown
62d92348fe Added symbols that the DBG() macros will use. 2007-07-17 01:24:04 +01:00
Michael Brown
f44969f7df nameserver should be static 2007-07-17 01:21:20 +01:00
Michael Brown
7df3d4a177 Obsolete code removal 2007-07-17 01:19:35 +01:00
Michael Brown
60ce8e884d Added missing extern 2007-07-17 01:16:24 +01:00
Michael Brown
c3290aae54 Use objdump -t for symcheck; it allows us to take the symbol section
into account (and so remove the false positives due to .tbl.* symbols).
2007-07-17 01:15:39 +01:00
Michael Brown
38dbe14bbe Kill off redundant references to the .zprefixes. 2007-07-16 17:26:07 +01:00
Michael Brown
84551d485e Update all prefixes currently referring to _load_size to include a
compressor fixup section.
2007-07-16 17:17:26 +01:00
Michael Brown
0929142a15 Rename _rom_size to _load_size_sect, since hdprefix.S also uses it. 2007-07-16 17:03:19 +01:00
Michael Brown
048bbeeebc Compressed ROM images now work. 2007-07-16 16:58:38 +01:00
Michael Brown
37fa9a8706 Split the objcopy stage out of final image preparation to a separate
bin/%.bin target.
2007-07-16 13:41:27 +01:00
Michael Brown
6d2e4e719c Move uninitialised .data16 variables to .bss16; saves around 2000
bytes of useless zeroes in the final image.
2007-07-16 13:22:12 +01:00
Michael Brown
389204713f Kill off some long-redundant CFLAGS 2007-07-16 13:15:12 +01:00
Michael Brown
833d6cc8ec Add __bss16() macro, and allow use of .bss16 section by removing
link-time check for section overlaps.  (In order to avoid wasting
space in the executable image, .bss16 will overlap with the following
section, which is .text).
2007-07-16 13:10:49 +01:00
Michael Brown
c482fc90fb Revert "no need for depending on build library ("blib")"
This reverts commit 9dc2515d7e.

I want "make" to actually build something.
2007-07-16 13:06:58 +01:00
Michael Brown
a8780a4fe4 Added nrv2b binary to ignore list 2007-07-15 13:31:31 +01:00
Michael Brown
ab859a5355 Use a single _payload_offset linker-defined variable to locate the
start of the non-prefix blocks in the loaded image, and rely on the
image ordering.  This should make introducing compression much easier.
2007-07-15 02:52:02 +01:00
Michael Brown
aa729d2d10 Reverting unintended change caused by merge of indolent/natsemi branch. 2007-07-15 02:22:49 +01:00
Michael Brown
c27b06fc4d Merge commit 'indolent/natsemi' 2007-07-15 02:21:55 +01:00
Udayan Kumar
37517f7752 removed type casting from DBG statements. 2007-07-14 21:08:07 -04:00
Udayan Kumar
fc47f2a4ce replaces printf with dbg 2007-07-14 21:08:07 -04:00
Udayan Kumar
04962a0b31 added natsemi.h 2007-07-14 21:08:06 -04:00
Udayan Kumar
ecfa8f41e8 mdc's+nvs 2007-07-14 21:08:06 -04:00
Udayan Kumar
008bfb6e85 more debugging 2007-07-14 21:08:06 -04:00
Udayan Kumar
f58c8511a0 more debugging 2007-07-14 21:08:06 -04:00
Udayan Kumar
d6ceb8bbd7 added silicon revision number 2007-07-14 21:08:06 -04:00
Udayan Kumar
334abbde83 init_fix_up 2007-07-14 21:08:06 -04:00
Udayan Kumar
751cb2e450 added cable magic for 100Mps in natsemi 2007-07-14 21:08:06 -04:00
Udayan Kumar
11d246f3b5 duplex setting added to natsemi.c 2007-07-14 21:08:06 -04:00
Udayan Kumar
621f6fb503 more indentation and styling done 2007-07-14 21:08:06 -04:00
Udayan Kumar
bfa322bb19 :x 2007-07-14 21:08:06 -04:00
Udayan Kumar
f213f6a1a3 no changes 2007-07-14 21:08:06 -04:00
Udayan Kumar
a8c2a4fa11 added nat_irq to natsemi.c 2007-07-14 21:08:06 -04:00
Udayan Kumar
132d0fb70c stopped memory leak in natsemi::nat_open() 2007-07-14 21:08:06 -04:00
Udayan Kumar
83dd194330 Natsemi commented and almost done 2007-07-14 21:08:05 -04:00
Udayan Kumar
4f2fab2e14 natsemi.c is workin 2007-07-14 21:08:05 -04:00
Udayan Kumar
a86b12728a irq still not working will have to remove it 2007-07-14 21:08:05 -04:00
Udayan Kumar
2383a070d8 natsemi 2007-07-14 21:08:05 -04:00
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
Michael Brown
b5311c2c88 This comment is no longer relevant. 2007-07-03 20:39:47 +01:00
Michael Brown
438d1cc0b9 Should be using the generic device probe mechanism, when (if) they
eventually get updated.
2007-07-03 20:39:30 +01:00
Michael Brown
fae10a7ca1 We don't actually use the reset functions anywhere, and nothing really
provides them.
2007-07-03 20:34:51 +01:00
Michael Brown
5ce5e6d846 Move pxe_netdev and set_pxe_netdev to pxe_undi.c and remove
now-obsolete pxe.c.
2007-07-03 20:21:16 +01:00
Michael Brown
fd86c819ba Use a linker-table based system to automatically mark and start up
permanent processes, rather than requiring each one to have its own
initialisation function.
2007-07-03 20:09:14 +01:00
Marty Connor
4bcfe7507b Merge branch 'master' of /pub/scm/gpxe 2007-07-03 13:20:54 -04:00
Marty Connor
c77704cb60 Warnings purge: src/{crypto,hci,net} 2007-07-03 13:20:22 -04:00
Michael Brown
0924cf678e Implemented (untested) PXENV_START_UNDI. 2007-07-03 18:17:14 +01:00
Michael Brown
30a442aef8 Report our interface type as "gPXE" to avoid working around Etherboot
5.4 bugs when driving ourselves via UNDI.
2007-07-03 15:57:32 +01:00
Michael Brown
2dc8ed1eb8 Work around Etherboot 5.4 bug when multiple packets are received. 2007-07-03 15:53:29 +01:00
Michael Brown
ca4bd3e24e Kill off now-redundant _irq() methods. 2007-07-03 15:37:56 +01:00
Michael Brown
1ce0b4bbfb Kill off PXENV_UNDI_FORCE_INTERRUPT support; we have no reason to
suspect that we need it, and implementing it would require needlessly
complicating the net device API.
2007-07-03 15:36:29 +01:00
Michael Brown
e436b993a9 Avoid double free on I/O buffer when rtl_transmit() returns failure.
Convert printf() to DBG(); printf() is not allowed in drivers.
2007-07-03 14:44:33 +01:00
Michael Brown
0958726ebb It's not just Etherboot that fails to generate TX completions. 2007-07-03 14:43:57 +01:00
Michael Brown
5b52630a9c Never attempt to route the broadcast address. 2007-07-03 13:55:45 +01:00
Michael Brown
adb3dd03e5 Document TX completion bug. 2007-07-03 13:17:58 +01:00
Michael Brown
71f500ff1b Enable/disable interrupts in driver open/close. 2007-07-03 12:50:58 +01:00
Michael Brown
5f92f0bd82 Reserve space for link-layer header in pxenv_undi_transmit() when not
handed a P_UNKNOWN packet.
2007-07-03 04:05:30 +01:00
Michael Brown
290280f90e Enable/disable interrupts at open/close time. 2007-07-03 03:34:08 +01:00
Michael Brown
258afef751 Add missing call to free_iob() in pxenv_undi_isr().
Correct typo in pxenv_set_station_address().
2007-07-03 00:57:53 +01:00
Michael Brown
a2a0c2eace Enable/disable interrupts on open/close. 2007-07-03 00:57:04 +01:00
Michael Brown
4968caab82 Add trivial net device statistics (TX and RX packet count), reported
via UNDI API and also by ifstat command; may be useful for debugging.
2007-07-03 00:15:53 +01:00
Michael Brown
071356d976 Ensure that pxe_netdev is set before starting up PXE NBP. 2007-07-03 00:02:26 +01:00
Michael Brown
cbd956535e Place netdev_open()/netdev_close() calls in appropriate places. 2007-07-03 00:02:06 +01:00
Michael Brown
8f37a6a424 Add mechanism for providing TX completion events. 2007-07-02 23:49:00 +01:00
Marty Connor
0297a63877 Merge branch 'master' of ssh://rom.etherboot.org/pub/scm/gpxe 2007-07-02 15:36:19 -04:00
Marty Connor
f04899bf6c Warnings purge 2007-07-02 15:33:34 -04:00
Marty Connor
b234d4a13e Warnings purge 2007-07-02 15:29:37 -04:00
Marty Connor
ef7f6e72a1 Warnings purge 2007-07-02 15:28:55 -04:00
Marty Connor
bf871c4d03 Warnings purge of src/core 2007-07-02 15:26:40 -04:00
Michael Brown
332614a382 Add untested support for UNDI transmit and receive. 2007-07-02 20:05:58 +01:00
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).
2007-07-02 18:33:41 +01:00
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.
2007-07-02 17:43:32 +01:00
Michael Brown
e3bbfd7a75 Call shutdown() from pxenv_undi_shutdown(). Probably not totally
correct, but it's enough to get RIS working.
2007-07-02 03:12:35 +01:00
Michael Brown
d7e471f654 Improve debugging 2007-07-01 22:04:19 +01:00
Michael Brown
15f8323055 Removing obsolete files. 2007-07-01 15:30:12 +01:00
Michael Brown
95cb7aaacf Support cards such as natsemi which treat the data as little-endian
(i.e. LSB transmitted first on the wire), even though SPI commands and
addresses always have to be big-endian.
2007-07-01 15:22:12 +01:00
Michael Brown
3bf5eb49d0 Can't use strncpy() to copy strings that aren't NUL-terminated to
begin with.
2007-07-01 03:22:28 +01:00
Michael Brown
31fe5b9415 Hack together far enough to support ne2k-pci. 2007-07-01 00:37:29 +01:00
Michael Brown
f33bbd4112 How has the legacy wrapper been working for the past month or so...? 2007-07-01 00:36:48 +01:00
Michael Brown
b743b63ae9 DUMP_GDBSYM should not be enabled by default. 2007-07-01 00:05:36 +01:00
Michael Brown
d5451d210c Add ability to resolve relative symbols as well as locate absolute ones. 2007-06-30 22:59:15 +01:00
Michael Brown
8f6a4e8140 Add gdbsym.c object to help with running gdb-to-qemu 2007-06-30 22:43:31 +01:00
Michael Brown
e1646b4080 Place the actual version string in .data16, rather than just the
pointer to it.
2007-06-30 21:36:54 +01:00
Michael Brown
4472e22b5e Implement the two UNDI API calls used by RIS. 2007-06-30 15:56:00 +01:00
Michael Brown
d05d8edd42 Implement the "overwrite TFTP filename" Microsoft RIS bug workaround. 2007-06-30 15:13:18 +01:00
Michael Brown
8130443f9f Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
2007-06-30 14:56:35 +01:00
Michael Brown
acd598b4f9 Don't build option-overloaded packets; they just confuse people (ISC
DHCPD and Windows RIS in particular).
2007-06-30 01:32:53 +01:00
Michael Brown
9125070f51 I really, really screwed up the semantics of BufferSize and BufferLimit. 2007-06-29 20:16:30 +01:00
Michael Brown
40d6d3dcf4 Windows RIS now gets as far as downloading NTLDR. 2007-06-29 01:42:59 +01:00
Michael Brown
d71b116f54 Fix stack on return from PXE NBP so that we can return properly. 2007-06-28 23:37:49 +01:00
Michael Brown
045fb24557 Use internal real-mode stack from non-returnable prefixes 2007-06-28 21:56:14 +01:00
Michael Brown
00473f0952 Revert "Move stack to below 0x7c00; leaving it at the default location"
This reverts commit 03ca71c38d.
2007-06-28 21:50:36 +01:00
Michael Brown
c73bff7ae5 Set current working URI based on TFTP server specified by DHCP. 2007-06-28 21:22:25 +01:00
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...
2007-06-28 21:15:47 +01:00
Michael Brown
dffdc285b3 Obsoleted by downloader.c 2007-06-28 19:28:26 +01:00
Michael Brown
f13baeb330 Added missing config.[ch] lines for FTP protocol 2007-06-28 18:49:57 +01:00
Michael Brown
d465ae9785 Bugfix: iobuf->data always points to the start of the allocated
portion, not to the bit we want to currently write to...
2007-06-28 18:38:50 +01:00
Michael Brown
5de837cc67 Mildly ugly hack to force correct linkage. 2007-06-28 18:06:25 +01:00
Michael Brown
e4c9c91d6e Removed debugging statements that should not have been checked in. 2007-06-28 17:57:10 +01:00
Michael Brown
4b08f4cf0f Quick hack to get image booting working again 2007-06-28 17:55:29 +01:00
Michael Brown
7d6e4aab6f Use monojob and dhcp_configure_netdev(). 2007-06-28 15:22:20 +01:00
Michael Brown
1ec7bb789d Add dhcp_configure_netdev() 2007-06-28 15:18:26 +01:00
Michael Brown
6209d20779 Added monojob controller in lieu of a full working shell. 2007-06-28 14:53:12 +01:00
Michael Brown
cf33b568dc Forgot to set initial session state. Now works! 2007-06-28 01:55:01 +01:00
Michael Brown
73fe1ba9dd Kill off job::start() (it was only ever added as part of an aborted
attempt at triggering TCP-related protocols to start).
2007-06-28 01:09:45 +01:00
Michael Brown
07dc294de8 Update DHCP to use data-xfer interface (not yet tested). 2007-06-27 23:20:36 +01:00
Michael Brown
f77815f2b1 Kill off hotplug.h and just make net devices normal reference-counted
structures.

DHCP still broken and #if 0'd out.
2007-06-27 14:48:31 +01:00
Michael Brown
e381714c07 Partial migration of UDP to data-xfer interface. (Will not link at
present; DHCP is broken).
2007-06-20 01:13:35 +01:00
Michael Brown
564ac70a42 Add iob_ensure_headroom() placeholder. 2007-06-20 01:12:21 +01:00
Michael Brown
4f309ff0c7 Treat URIs opened via xfer_open() and friends as relative to the
current working URI.
2007-06-13 16:28:32 +01:00
Michael Brown
15dae1e042 Add concept of "current working URI". 2007-06-11 23:54:51 +01:00
Michael Brown
2d4c72b762 Remove unused headers. 2007-06-11 23:40:34 +01:00
Michael Brown
e708137029 DNS code now records a whole struct sockaddr for the name server. 2007-06-11 23:36:50 +01:00
Michael Brown
f87bc837f4 Updated DNS to use not-yet-implemented UDP data-xfer API. 2007-06-11 23:30:44 +01:00
Michael Brown
a74ecf3057 Merge branch 'master' into mcb-tcp-xfer 2007-06-11 21:36:22 +01:00
Michael Brown
058b200529 Renamed _calloc() to zalloc(), ready to be used as a standalone function. 2007-06-11 21:36:10 +01:00
Michael Brown
01b4bde8a0 Updated TFTP and PXE UDP API code to use not-yet-implemented data-xfer
UDP API.
2007-06-11 18:11:29 +01:00
Michael Brown
95adce0ce1 Add concept of transfer metadata, to be used by UDP in order to
implement sendto()/recvfrom() equivalents.
2007-06-11 15:04:39 +01:00
Michael Brown
77e575235d Merge branch 'master' into mcb-tcp-xfer 2007-06-10 18:34:10 +01:00
Michael Brown
0316eaf85d Add missing call to free_iob(). 2007-06-10 18:33:42 +01:00
Michael Brown
adf6c8e2a6 Add our own trivial version of stdarg.h. This makes our build
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).

Also saves around 50 bytes in total - not sure why.
2007-06-10 00:29:53 +01:00
Michael Brown
11ec23f454 Merge branch 'master' into mcb-tcp-xfer 2007-06-09 22:58:27 +01:00
Michael Brown
0f8d7d705d Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
Michael Brown
6835755350 Merge branch 'master' into mcb-tcp-xfer 2007-06-09 22:26:50 +01:00
Marty Connor
f97e642d17 Update email addresses in drivers 2007-06-09 15:23:17 -04:00
Michael Brown
b256900d4f Scripts temporarily deregister themselves while executing. This
allows us to avoid execution loops without having to hack around the
image registration order.
2007-06-09 19:00:34 +01:00
Michael Brown
2c569fb240 Allow xfer_open() to take a struct uri as well as a URI string. 2007-06-09 18:20:08 +01:00
Michael Brown
1ae549b892 Add our own trivial version of stdarg.h. This makes our build
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).

Also saves around 50 bytes in total - not sure why.
2007-06-09 18:11:07 +01:00
Michael Brown
7c8cc3ef6c Use standard xfer_open() argument list for downloader instantiator 2007-06-09 17:42:46 +01:00
Michael Brown
08e286714f Add reference counting to register/unregister procedure. 2007-06-09 17:32:27 +01:00
Michael Brown
53bd022235 Merge branch 'master' into mcb-tcp-xfer 2007-06-08 16:41:54 +01:00
Michael Brown
6f0a6c09db Merge branch 'master' into mcb-tcp-xfer 2007-06-08 16:33:24 +01:00
Marty Connor
8c25ea0970 Updated email mdc's email address 2007-06-08 11:23:26 -04:00
Michael Brown
ff84a66c35 Conflicts with native asn1.c 2007-06-08 12:37:35 +00:00
Michael Brown
b7ccdb7948 Add a couple of tests for the URI parsing and resolving code. 2007-06-03 02:15:00 +00:00
Michael Brown
6a5cc3533f Added missing va_end() 2007-06-03 02:11:25 +00:00
Michael Brown
a6f0a098da Add facility for resolving base+relative URIs (and paths). 2007-06-03 02:01:02 +00:00
Michael Brown
182e3ed61d Added dirname() 2007-06-03 01:51:10 +00:00
Michael Brown
816c8f3b89 Added [v]asprintf() 2007-06-03 01:50:03 +00:00
Michael Brown
335b99a39d Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them
elsewhere as well.
2007-05-31 13:26:50 +00:00
Michael Brown
4ccd1e8198 Should call ftp_done() if constructor fails. 2007-05-29 15:37:30 +00:00
Michael Brown
735e07268e Update HTTP to use data-xfer interface. 2007-05-29 15:37:09 +00:00
Michael Brown
0dfd5b84fd Updated FTP to use data-xfer API. 2007-05-28 20:11:02 +00:00
Michael Brown
a6a18ae9af Add xfer_[v]printf() functions. 2007-05-28 20:09:44 +00:00
Michael Brown
3acd51597a Add sanity check and extra debug message 2007-05-28 20:06:41 +00:00
Michael Brown
656485c1f1 Make URI structures reference-counted. 2007-05-28 17:35:15 +00:00
Michael Brown
63719deea9 Introduce name resolution interface and named socket opener. 2007-05-27 01:07:00 +00:00
Michael Brown
bc694ec768 Move increment/decrement debug messages to DBG2 level 2007-05-27 01:04:52 +00:00
Michael Brown
1311b4194c Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead. 2007-05-26 20:41:23 +00:00
Michael Brown
a1210e4fca Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead. 2007-05-26 20:41:23 +00:00
Michael Brown
070c55a838 Added EPIPE description. 2007-05-26 15:05:31 +00:00
Michael Brown
b8618d76db Modify data-xfer semantics: it is no longer necessary to call one of
request(), seek() or deliver_xxx() in order to start the data flow.
Autonomous generators must be genuinely autonomous (having their own
process), or otherwise arrange to be called.  TCP does this by
starting the retry timer immediately.

Add some debugging statements.
2007-05-26 15:04:36 +00:00
Michael Brown
10d0a1f8c7 Modify data-xfer semantics: it is no longer necessary to call one of
request(), seek() or deliver_xxx() in order to start the data flow.
Autonomous generators must be genuinely autonomous (having their own
process), or otherwise arrange to be called.  TCP does this by
starting the retry timer immediately.

Add some debugging statements.
2007-05-26 15:04:36 +00:00
Michael Brown
3601103381 Modify process semantics; rescheduling is now automatic.
Add reference-counting to processes.

Add timer_running() test.
2007-05-26 15:00:56 +00:00
Michael Brown
6006bed530 Free I/O buffers when we are finished with them! 2007-05-25 16:01:31 +00:00
Michael Brown
1136c19fa4 Updated tcp.c to provide a standardised data transfer interface. 2007-05-25 15:58:42 +00:00
Michael Brown
54138f28f6 Use list_for_each_entry_safe() when flushing queue. 2007-05-19 22:05:16 +00:00
Michael Brown
5e25a89e74 Add local address to socket openers. 2007-05-19 20:14:18 +00:00
Michael Brown
776357214e Rename pkbpad.c to iobpad.c 2007-05-19 18:42:27 +00:00
Michael Brown
3e2c6b6736 pkbuff->iobuf changeover
Achieved via Perl using:

perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \
	-e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \
	-e 's/pkb/iobuf/g; s/PKB/IOB/g;'
2007-05-19 18:39:40 +00:00
Michael Brown
7c0a069f42 Add explicit "freeing" debug messages. 2007-05-18 15:42:02 +00:00
Michael Brown
7d2535779c Must request data before anything actually happens... 2007-05-18 15:36:11 +00:00
Michael Brown
b63b14ff32 Add debugging 2007-05-18 15:26:44 +00:00
Michael Brown
68dd826b86 Add alloc_iob() and free_iob(). (Direct search-and-replace
equivalents for alloc_pkb() and free_pkb(), which will be retired in
due course).
2007-05-18 14:45:16 +00:00
Michael Brown
23008b9326 Updated to use POSIX-style file I/O layer. 2007-05-18 14:33:20 +00:00
Michael Brown
86a948ccbe Added POSIX-style blocking I/O calls, for use by PXE TFTP API. 2007-05-18 14:19:22 +00:00
Michael Brown
6b6fc1d5ea Allow construction of PXE status code from internal error number. 2007-05-18 14:17:35 +00:00
Michael Brown
59e738d756 Prefix all the open()-family routines with xfer_, to disambiguate them
from the normal POSIX-style open()
2007-05-18 14:16:06 +00:00
Michael Brown
b1755462ab Do not hold self-references. This then avoids the problem of having to
ensure that we only drop our self-reference exactly once.

To maintain the guarantee that an object won't go out of scope
unexpectedly while one of its event handlers is being called, the
event-calling functions now automatically obtain and drop extra
references.
2007-05-15 16:53:46 +00:00
Michael Brown
5471bfbbbe Data-transfer interface should now be functionally complete. 2007-05-15 15:23:09 +00:00
Michael Brown
817a446cc6 Add always_inline attribute to force gcc to inline single-instruction
functions.
2007-05-01 10:17:29 +00:00
Michael Brown
123a98db26 Added (non-functional) reference count to struct image 2007-05-01 00:11:34 +00:00
Michael Brown
53da1f1402 Initial sketch for a downloader object 2007-05-01 00:09:19 +00:00
Michael Brown
e3dcb9a1ad Add start() event
Add "xfer" to all xfer functions and "job" to all job functions.
2007-05-01 00:07:57 +00:00
Michael Brown
a90a9adbd7 Clarify behaviour of plug() by using intf_put() and intf_get(). 2007-05-01 00:06:21 +00:00
Michael Brown
7ff81f6654 Document the fact that a zeroed-out refcounted object will behave in
the most generally useful way.
2007-05-01 00:04:21 +00:00
Michael Brown
31f1bf4426 D'oh 2007-04-30 01:24:52 +00:00
Michael Brown
0898b0b3b1 Added plug_plug() 2007-04-30 01:23:01 +00:00
Michael Brown
d40761d725 Add (and use) generic reference counter, to improve signal:noise ratio
in code defining reference-counted objects.
2007-04-29 23:53:39 +00:00
Michael Brown
36bfb6edbb Skeleton job control interface 2007-04-29 02:08:39 +00:00
Michael Brown
280160139d Add seek()
Dehyphenate "data-transfer".
2007-04-29 02:03:58 +00:00
Michael Brown
ff1222a8d3 Preliminary support for opening data-transfer interfaces 2007-04-28 20:56:24 +00:00
Michael Brown
27b3bd10c9 Added PF_INET[6] and SOCK_{STREAM,DGRAM} definitions and debug
functions.
2007-04-28 20:53:48 +00:00
Michael Brown
1c765b3988 Added deliver-as-iobuf/deliver-as-raw concepts. 2007-04-27 00:02:23 +00:00
Michael Brown
2575ddc889 Initial sketch for the generic data-transfer interface. 2007-04-26 22:44:52 +00:00
Michael Brown
95206577a7 Trivial ASN.1 decoding functions. 2007-04-21 18:53:26 +00:00
Anselm Martin Hoffmeister
ed7dc02a95 hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise
output buffering defintions and the like)
2007-04-09 18:01:43 +00:00
Anselm Martin Hoffmeister
ff5aac826a hoffmeis: Fixing situation where absence of a newdata() handler for UDP
connections might break things. Only-sending applications like syslog()
do not need a newdata() handler, so added a check if that handler exists.
2007-04-09 17:34:10 +00:00
Michael Brown
0d9b3e2dd2 Add 32-bit support.
Generate DHCP data block for images.
2007-03-22 16:18:46 +00:00
Michael Brown
ff7d0af585 Provide a buffer in base memory for code to fill with generated DHCP data. 2007-03-22 16:18:07 +00:00
Michael Brown
160e66dbb9 Typo 2007-03-20 18:55:00 +00:00
Michael Brown
5578d3b2de Support 32-bit (linear) NBI images. We don't yet provide a bootp data
block, so first32.c dies immediately.
2007-03-14 00:39:12 +00:00
James Harper
80cc27cbc4 Ported bnx2 driver from Etherboot 5.4. 2007-03-13 23:03:50 +00:00
Michael Brown
37127ea90c Added .nbi as a format. 2007-03-11 00:57:26 +00:00
Michael Brown
628f6eddcc Make _load_size accurately reflect the number of bytes in the actual
image file.
2007-03-11 00:54:35 +00:00
Michael Brown
13137a4d61 t5x9 code relies on nic->ioaddr being set 2007-03-11 00:37:46 +00:00
Michael Brown
62548c9f0d Updated 3c509 to current device model 2007-03-10 22:28:22 +00:00
Michael Brown
520d9c36af Updated ISAPnP, EISA, MCA and ISA buses to current device model.
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.

None of this code is yet tested.
2007-03-10 18:08:33 +00:00
Marty Connor
6991ea7cc5 Add gpxe-tarball target to create clean release tarballs 2007-03-02 16:28:04 +00:00
Marty Connor
969642dca6 Add warning about formats that are not working until we fix them 2007-03-02 16:25:42 +00:00
Michael Brown
c63af1ea14 Remove no-longer-used variable 2007-02-19 17:31:20 +00:00
James Harper
e1735d5fc2 Fix some bad pointer arithmatic in the tg3 driver that was causing the dynamic memory pool to be corrupted (or worse) 2007-02-10 00:28:41 +00:00
James Harper
1c971f1234 Fix padding problem - from Michael 2007-02-10 00:27:46 +00:00
Michael Brown
af3149d18e Allow queries in GET requests 2007-02-01 21:01:47 +00:00
Michael Brown
22ed1fbaf1 Add ability to read serial number from SMBIOS 2007-02-01 20:52:12 +00:00
Michael Brown
3fd10074d8 SSL needs quite a lot of spare memory 2007-02-01 09:38:16 +00:00
Michael Brown
e01aadd5a7 Required for public key extraction 2007-02-01 09:13:27 +00:00
Michael Brown
abccb8b63c SSL requires inordinately large data storage 2007-02-01 07:22:13 +00:00
Michael Brown
2c67167929 Don't pass through zero-length requests 2007-02-01 07:18:56 +00:00
Michael Brown
0050378f51 SHA1_DIGEST_SIZE also available as a static constant 2007-02-01 06:36:45 +00:00
Michael Brown
cc8f9e4b7f Make context sizes available for statically-allocated structures 2007-02-01 05:48:56 +00:00
Michael Brown
d467552367 Vanilla copies from axtls 2007-02-01 04:20:12 +00:00
Michael Brown
5c3837e0ed Quick hacks to get it working 2007-02-01 02:20:35 +00:00
Michael Brown
a01374b5cd Add dummy setiv method 2007-02-01 02:19:16 +00:00
Michael Brown
f5776dbef1 Fix prototypes 2007-02-01 02:18:56 +00:00
Michael Brown
f06059ab97 More assertions 2007-02-01 02:18:22 +00:00
Michael Brown
c650c8c84a Also print out stack pointer (with optional stack dump) 2007-02-01 02:17:59 +00:00
Michael Brown
a1f021db96 Placeholder 2007-02-01 02:17:33 +00:00
Michael Brown
406b20a64d Assert that division result is correct 2007-01-31 23:58:52 +00:00
Michael Brown
c789e8640b Added __umoddi3 2007-01-31 22:26:14 +00:00
Michael Brown
6c2f0e1bf4 Original axtls RSA code 2007-01-31 22:18:29 +00:00
Michael Brown
1ae70e12e5 Added wrapper for AXTLS AES code 2007-01-31 18:09:20 +00:00
Michael Brown
0d07657296 Added setiv method 2007-01-31 17:58:36 +00:00
Michael Brown
c1aa1d0764 Add wrapper around axtls' sha1 code 2007-01-31 12:24:01 +00:00
Michael Brown
869f9bcb23 Adding missing include 2007-01-31 12:19:50 +00:00
Michael Brown
6ce5c97981 Made most of the build much quieter 2007-01-31 11:06:36 +00:00
Michael Brown
413c554b34 We need this, I think 2007-01-31 03:50:49 +00:00
Michael Brown
2e0548e17e Force inlining 2007-01-31 03:50:31 +00:00
Michael Brown
a3695b1ff6 Placeholder for TLS insertion 2007-01-31 03:47:42 +00:00
Michael Brown
1f5f900595 Add HTTPS port 2007-01-31 03:44:38 +00:00
Michael Brown
2d726144f7 Filter insertion now actually works 2007-01-31 03:43:59 +00:00
Michael Brown
21f3789ec8 Swap downstream/upstream order so that debug messages for filters show
up in the same colour as debug messages for the application stream.
2007-01-31 03:43:40 +00:00
Michael Brown
1fbd6f7d76 ...but not when it's being used as a digest algorithm... 2007-01-31 03:42:47 +00:00
Michael Brown
a502fcda45 The null crypto algorithm should at least copy data... 2007-01-31 03:42:07 +00:00
Michael Brown
138967dd6b Tidy up debug messages 2007-01-31 03:05:49 +00:00
Michael Brown
e38e516463 Add insert_filter() function 2007-01-31 03:04:56 +00:00
Michael Brown
a008f9e85b Add null crypto algorithm 2007-01-31 03:04:31 +00:00
Michael Brown
6d32f0e6e2 Changed to use the generic stream API. 2007-01-31 02:09:13 +00:00
Michael Brown
02f18565da First sketch of stream API 2007-01-31 00:40:35 +00:00
Michael Brown
55601b2d38 Placeholder 2007-01-30 22:55:19 +00:00
Michael Brown
0e996b81cf Added blocksize for the benefit of HMAC code 2007-01-30 22:54:43 +00:00
Michael Brown
811db204a6 Added cipher wrapper functions 2007-01-30 22:54:20 +00:00
Michael Brown
b3e4418ea8 Missing check-in 2007-01-30 22:53:59 +00:00
Michael Brown
db2fde474e Generalise digest_algorithm to crypto_algorithm. 2007-01-30 14:55:17 +00:00
Michael Brown
2f7eac1646 Low-overhead filter streams 2007-01-30 12:17:03 +00:00
Michael Brown
ddf3b56d47 Definition of a (hopefully) generic stream API 2007-01-30 12:16:36 +00:00
Michael Brown
395c76e94d Use "dbg_stream" rather than "stream" as a variable name in
DBG_AC_IF(), to avoid namespace collisions.
2007-01-30 10:12:19 +00:00
Michael Brown
7d9267561b Don't call PXENV_STOP_UNDI in the kpxeprefix. This slighy breaks the
clean separation between loading and starting, but does mean that more
PXE stacks survive the process.
2007-01-29 15:21:10 +00:00
Michael Brown
2cf1e33df1 Split bootsector execution code out into bootsector.c.
Added basic El Torito ISO image boot capability
2007-01-29 04:21:38 +00:00
Michael Brown
bde8878eef Keep HTTP progress updated, and display a progress indicator during the
download
2007-01-29 04:19:45 +00:00
Michael Brown
1a79437888 Added async_block_progress() and default SIGUPDATE handler. 2007-01-29 04:15:24 +00:00
Michael Brown
c42a384709 Moved most buffer debug messages to DBG2.
Make expand_buffer() a non-inline function, so that we can add debug
messages.

Expandable buffers now don't *always* round up to the next power of two.
This allows e.g. loading a 137MB ISO image on a machine with only 256MB
RAM...
2007-01-29 04:12:29 +00:00
Michael Brown
89c3c67c51 Should be correct for building RSA 2007-01-28 19:50:43 +00:00
Michael Brown
b3b6b25aeb Handle (64-bit) / (32-bit) = (64-bit), i.e. one step beyond that
provided by the divl instruction.
2007-01-28 19:34:17 +00:00
Michael Brown
bd873525ff Add matrixssl directory 2007-01-26 04:36:50 +00:00
Michael Brown
6417a6adf0 Avoid barfing on gcc's implicit memcpy()s 2007-01-26 04:14:25 +00:00
Michael Brown
3bb7c19779 Allow MatrixSSL code to compile inside gPXE 2007-01-26 03:50:17 +00:00
Michael Brown
afe4e011ac Move tolower() etc to ctype.h as per ISO C 2007-01-26 03:25:19 +00:00
Michael Brown
bf9ec8102f Add 64-bit rotates 2007-01-26 02:53:30 +00:00
Michael Brown
7cdc6529bb Build external axtls code 2007-01-26 02:03:34 +00:00
Michael Brown
9542c016cd Add aes.c and required headers from axtls tree 2007-01-26 01:59:37 +00:00
Michael Brown
7b8859ad15 Enable the axtls code to at least build within gPXE 2007-01-26 01:55:34 +00:00
Michael Brown
7993488a68 #if 0 out for now 2007-01-26 01:42:16 +00:00
Michael Brown
f59281d8f6 Yet more synonyms that people tend to use. 2007-01-26 01:30:16 +00:00
Michael Brown
da9dc834b1 Help quick testing of building Linux code inside gPXE 2007-01-24 23:38:05 +00:00
Michael Brown
9cf5c4557d Add Linux-compatible rol32/ror32 functions. Amazingly, gcc will
optimise these down to the correct single "roll"/"rorl" instruction.
2007-01-24 23:31:58 +00:00
Michael Brown
6a765fdc15 Use base "0" in strtoul for consistency with "mem=" 2007-01-24 22:54:08 +00:00
Michael Brown
99cb46943f "vga=" is specified in decimal, not hex. 2007-01-22 23:56:24 +00:00
Michael Brown
ebb00e032c Misread the definition of the type_of_loader field; it should include a
version.
2007-01-19 15:40:01 +00:00
Michael Brown
92a78c8e15 Added SIGKILL handler 2007-01-19 15:19:52 +00:00
Michael Brown
13d9a660ca Zeroing out memory before using it can be so important. 2007-01-19 14:44:59 +00:00
Michael Brown
d6909f65f0 Actually, it's probably safer *not* to leave child processes hanging
around which still hold pointers to variables belonging to our parent...
2007-01-19 14:20:41 +00:00
Michael Brown
b6194b8cb9 Note that the SIGCHLD handler could be re-entered. 2007-01-19 14:10:13 +00:00
Michael Brown
1411876e26 Propagate return status code from last child to fail. 2007-01-19 14:00:51 +00:00
Michael Brown
cde6d776e3 Handle structured error codes. 2007-01-19 13:52:50 +00:00
Michael Brown
18f9f939a8 Introduce structured error codes. 2007-01-19 13:15:26 +00:00
Michael Brown
c2352dc8de Add POSIX prototypes for time functions, to allow external code to build
more easily within gPXE.

Note that we don't have function bodies for these functions yet.
2007-01-19 03:09:22 +00:00
Michael Brown
4256b3338a Split random number generation out into core/random.c, and create the
correct prototypes for srandom(), rand() and srand().
2007-01-19 02:02:59 +00:00
Michael Brown
f4c1e564a1 vsprintf.h is gPXE-specific; move it to include/gpxe 2007-01-19 01:17:23 +00:00
Michael Brown
73b09ecba6 Use stdio.h instead of vsprintf.h 2007-01-19 01:13:12 +00:00
Michael Brown
06475f7b69 Finally move the prototypes for printf() and friends to stdio.h 2007-01-19 00:58:49 +00:00
Michael Brown
1a0ca661c2 4.3BSD says that bcopy and bzero are defined in strings.h, not string.h 2007-01-19 00:51:13 +00:00
Michael Brown
a213876382 Typo 2007-01-19 00:48:13 +00:00
Michael Brown
b02a564297 Add missing prerequisite include 2007-01-19 00:39:12 +00:00
Michael Brown
4e3976711d A working name resolution framework 2007-01-18 22:38:13 +00:00
Michael Brown
8bb9f726a0 When an async operation dies, orphan its children. 2007-01-18 22:36:57 +00:00
Michael Brown
075f8144ff Have DHCP set the nameserver, rather than DNS read the DHCP nameserver
value.
2007-01-18 21:22:03 +00:00
Michael Brown
c014f607a8 Use total free memory as advertised window. This seems to be sufficient
to avoid drops even on slow NICs.
2007-01-18 20:39:17 +00:00
Michael Brown
6d4e37cf42 Move include/malloc.h to include/gpxe/malloc.h, since everything in there
is now gPXE-specific.  (The standard malloc() et al have been in stdlib.h
for a while).

Add free memory counter.
2007-01-18 20:11:04 +00:00
Michael Brown
5ff23aa406 Include stdlib.h rather than malloc.h 2007-01-18 20:06:03 +00:00
Michael Brown
d12770e254 console.h is no longer needed for debugging 2007-01-18 19:13:25 +00:00
Michael Brown
37f1b12587 Allow truly arbitrary debug levels to be specified via DEBUG= 2007-01-18 19:00:09 +00:00
Michael Brown
5d57cd47a2 Declaring the CPU architecture in the middle of an assembly file is
somewhat redundant, and also causes gas to complain when we include
the profiling code (which uses an i586 instruction).
2007-01-18 18:53:32 +00:00
Michael Brown
f781a98ac4 Add DBGLVL_PROFILE 2007-01-18 17:59:59 +00:00
Michael Brown
05f4c3d176 Remove the one-packet-per-poll-cycle limit; it seems to no longer be
needed now that performance is up.
2007-01-18 16:50:35 +00:00
Michael Brown
5b00fbade3 Increase window size to 64kB. Line rate downloads on a 100Mbps link,
anyone?
2007-01-18 16:39:55 +00:00
Michael Brown
bd95927386 Accelerate memcpy() by around 32% on large, dword-aligned copies. 2007-01-18 15:18:02 +00:00
Michael Brown
c8b3e969a0 Allow buffers to be pre-expanded on demand. 2007-01-18 15:13:41 +00:00
Michael Brown
6c72bf13a1 Presize the download buffer when we see the Content-Length header;
this saves around 70us per received packet (which is around 50% of the
overall packet processing time).
2007-01-18 13:26:57 +00:00
Michael Brown
08da93a311 Reorder functions to more closely reflect the flow of control 2007-01-18 13:10:26 +00:00
Michael Brown
35776f481c Don't always zero memory in malloc(). This saves around 2us on a
full-length PKB allocation.
2007-01-18 12:54:18 +00:00
Michael Brown
06630a3036 Switch from calloc() to malloc()+memset() to match the practices used
almost everywhere else.
2007-01-18 12:45:58 +00:00
Michael Brown
48fe701716 Respect the RX quota. This improves poll time by about 0.7us when the
quota is 1.
2007-01-18 12:34:12 +00:00
Michael Brown
dd6d94004f HTTP/DNS now working fully asynchronously. HTTP/IP addresses and any
other protocol won't work at the moment.
2007-01-18 03:39:45 +00:00
Michael Brown
0b11733b75 Replacement for fetch() which operates asynchronously and identifies
protocols by URI scheme.
2007-01-18 03:37:05 +00:00
Michael Brown
99e58865c7 Use struct sockaddr rather than struct sockaddr_tcpip
Tidy up code
2007-01-18 03:35:00 +00:00
Michael Brown
6601a7da6a Added async_uninit() to simplify failure paths. 2007-01-18 03:29:40 +00:00
Michael Brown
5a807994d8 Add utility function to parse port from URI 2007-01-18 03:28:55 +00:00
Michael Brown
8ffbbebf11 Ensure that struct sockaddr is long enough... 2007-01-18 03:28:29 +00:00
Michael Brown
9828181e3b Obsolete 2007-01-18 01:05:09 +00:00
Michael Brown
544fa25928 Rename e{malloc,realloc,free} to u{malloc,realloc,free}, to more obviously
reflect the fact that they allocate and deallocate user memory (i.e.
things reached through a userptr_t).
2007-01-16 08:36:42 +00:00
Michael Brown
ff8528ea9a Create and use async_block() macro; it cuts down on the visual overhead
of blocking on asynchronous operations, when that isn't an important
aspect of the code.
2007-01-16 08:10:54 +00:00
Michael Brown
f11da20f25 When a network device is specified to tcpip_tx() or it's children, treat
it as a fallback network device rather than an explicitly forced network
device.

Clear routing table entries before re-attempting DHCP.
2007-01-16 04:09:13 +00:00
Michael Brown
1a1fc23417 Improve debugging 2007-01-16 03:29:15 +00:00
Michael Brown
bcdb6fad3e Improve debug messages 2007-01-16 03:19:40 +00:00
Michael Brown
835d35749f Improved debugging 2007-01-16 03:10:37 +00:00
Michael Brown
143d14614d Quickly hack in DNS resolution as a proof of concept 2007-01-15 17:32:52 +00:00
Michael Brown
9af12d5fba A working DNS resolver (not yet tied in to anything) 2007-01-15 17:31:35 +00:00
Michael Brown
df0397f334 Update TFTP and FTP to take the same temporary URI scheme as HTTP 2007-01-15 09:58:26 +00:00
Michael Brown
afa752f5fb Protocol's get() method no longer takes ownership of the URI. HTTP is the
exception rather than the rule; we may as well keep things clean for other
protocols.
2007-01-15 09:18:06 +00:00
Michael Brown
1f92c6b3e8 Must free http on the error path; nothing else will do it 2007-01-15 09:08:40 +00:00
Michael Brown
c676591cd1 Unmaintained example code is probably worse than useless. 2007-01-15 09:06:12 +00:00
Michael Brown
4e20d73bb5 Gave asynchronous operations approximate POSIX signal semantics. This
will enable us to cascade async operations, which is necessary in order to
properly support DNS.  (For example, an HTTP request may have to redirect
to a new location and will have to perform a new DNS lookup, so we can't
just rely on doing the name lookup at the time of parsing the initial
URL).

Anything other than HTTP is probably broken right now; I'll fix the others
up asap.
2007-01-15 08:49:10 +00:00
Michael Brown
ec75b269d3 Add missing include 2007-01-15 08:44:05 +00:00
Michael Brown
90d859c34b Add ETIMEDOUT 2007-01-15 02:46:56 +00:00
Michael Brown
26166cf5e0 Added a URI parser that should be standards conformant. (It can certainly
handle something as convoluted as

  ftp://joe:secret@insecure.org:8081/hidden/path/to?what=is#this
2007-01-14 23:48:31 +00:00
Michael Brown
a5a330339b Split DBG() statement containing two inet_ntoa() statements; they
return a static buffer.
2007-01-14 19:58:41 +00:00
Michael Brown
ce7289a766 Dump buffer and packet information in PXENV_UDP_READ as well 2007-01-14 18:22:37 +00:00
Michael Brown
76aa9ad07d Make TCP give up immediately when it receives -ENETUNREACH from
tcpip_tx().  This avoids the irritating wait when you accidentally type
"kernel pxelinux.0" before bringing up the network interface.

Add ENETUNREACH to strerror()'s list.
2007-01-14 16:47:03 +00:00
Michael Brown
c953c1a1c3 Use -ENETUNREACH to mean "no reachable network device exists, don't bother
retrying".
2007-01-14 16:22:10 +00:00
Michael Brown
8edf8f6fa8 Add the "initrd" command 2007-01-14 16:09:48 +00:00
Michael Brown
a5f6408d8e We can now load an initrd as well as a kernel 2007-01-14 16:09:01 +00:00
Michael Brown
b9f99858ab Make the getmemsize() prototype available in memsizes.h, for code that
doesn't want to go to the hassle of processing a full memory map.
2007-01-14 15:32:25 +00:00
Michael Brown
c1fd6e8dc7 Once image type has been set, do not autoprobe further 2007-01-14 15:25:23 +00:00
Michael Brown
99272f958b Typo 2007-01-14 15:13:33 +00:00
Michael Brown
10c9b03cdb Actually, the initrd image should be architecture-independent. 2007-01-14 15:07:11 +00:00
Michael Brown
f92e04dea4 Add dummy "initrd" image format, just so that images can be marked as
initrds.
2007-01-14 15:03:39 +00:00
Michael Brown
7dc50167bb Allow load() and exec() methods to be NULL. 2007-01-14 14:59:36 +00:00
Michael Brown
8a490146bf Copy command line at execution time rather than load time.
Parse command line for "vga=" and "mem=" parameters
2007-01-14 14:29:30 +00:00
Michael Brown
3ccd7335f0 Split bzimage_load into separate functions 2007-01-14 13:36:33 +00:00
Michael Brown
97a3037f76 Can start a Linux kernel directly (albeit with no initrd support) 2007-01-14 12:34:35 +00:00
Michael Brown
3cbf0db0a3 Remove some references to no-longer-existent source files.
Add a path for isolinux.bin that is correct on my system; hopefully it
will work on others too.
2007-01-14 11:52:22 +00:00
Michael Brown
b04b0ddc31 .lilo and derived targets (e.g. .iso) now load properly. 2007-01-14 11:50:44 +00:00
Michael Brown
77d280968a Obsoleted by arch/i386/image/multiboot.c 2007-01-14 11:45:28 +00:00
Michael Brown
784e10635a Can almost start a kernel now. It dies with "No setup signature found" 2007-01-14 06:36:20 +00:00
Michael Brown
698bbe0155 Obsolete 2007-01-14 04:28:42 +00:00
Michael Brown
b07161f397 Placeholder bzImage support 2007-01-14 04:27:25 +00:00
Michael Brown
797edf28b7 Replace image->entry with image->priv. 2007-01-14 04:04:28 +00:00
Michael Brown
3bdbfe1f00 Mostly updated. Won't work yet. 2007-01-14 03:49:07 +00:00
Michael Brown
644f3674e6 Obsolete for some time 2007-01-14 02:24:41 +00:00
Michael Brown
6dcb182aee Fill in BufferSize in PXENV_GET_CACHED_INFO 2007-01-14 02:21:02 +00:00
Michael Brown
7bc03d37a2 Select a PXE network device before starting PXE NBP.
Move pxe_boot() code to pxe_image.c
2007-01-14 02:20:10 +00:00
Michael Brown
98240d99f0 Do not go past the end of the argv[] array.
This bug found by setting read and write watchpoints at NULL in bochs.
2007-01-14 02:01:26 +00:00
Michael Brown
55e6d7b70c Use debug autocolourisation.
Shut down before jumping to the multiboot image.
2007-01-14 00:57:43 +00:00
Michael Brown
dca369ddc3 Call hide_etherboot() from startup(), rather than requiring the prefix to
do it.
2007-01-14 00:53:56 +00:00
Michael Brown
c2708df14a Make shutdown functions callable by OS image's exec methods. 2007-01-14 00:16:41 +00:00
Michael Brown
c088ecf042 Make "boot" a synonym for "imgexec", to match grub 2007-01-14 00:08:13 +00:00