Michael Brown
487dc5be56
Fix up iscsiboot missing prototype warnings
17 gadus atpakaļ
Michael Brown
b94420a52b
Ready to start testing
17 gadus atpakaļ
Michael Brown
539ff45fd0
Allow recording of TX and RX errors to aid in end-user debugging.
17 gadus atpakaļ
Marty Connor
9b3c4e4d79
Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autoboot
17 gadus atpakaļ
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.
17 gadus atpakaļ
Michael Brown
e4c9c91d6e
Removed debugging statements that should not have been checked in.
17 gadus atpakaļ
Michael Brown
4b08f4cf0f
Quick hack to get image booting working again
17 gadus atpakaļ
Michael Brown
7d6e4aab6f
Use monojob and dhcp_configure_netdev().
17 gadus atpakaļ
Michael Brown
07dc294de8
Update DHCP to use data-xfer interface (not yet tested).
17 gadus atpakaļ
Michael Brown
e708137029
DNS code now records a whole struct sockaddr for the name server.
17 gadus atpakaļ
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.
17 gadus atpakaļ
Anselm Martin Hoffmeister
ed7dc02a95
hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise
output buffering defintions and the like)
17 gadus atpakaļ
Michael Brown
160e66dbb9
Typo
18 gadus atpakaļ
Michael Brown
bde8878eef
Keep HTTP progress updated, and display a progress indicator during the
download
18 gadus atpakaļ
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
18 gadus atpakaļ
Michael Brown
4e3976711d
A working name resolution framework
18 gadus atpakaļ
Michael Brown
dd6d94004f
HTTP/DNS now working fully asynchronously. HTTP/IP addresses and any
other protocol won't work at the moment.
18 gadus atpakaļ
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).
18 gadus atpakaļ
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.
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
df0397f334
Update TFTP and FTP to take the same temporary URI scheme as HTTP
18 gadus atpakaļ
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.
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
341c0b9cfb
Add HTTP test support
18 gadus atpakaļ
Michael Brown
49fc8dcdc3
Use dhcp(), imgfetch() etc. to boot rather than dhcp_test().
18 gadus atpakaļ
Michael Brown
9952df9b52
Add "dhcp" command
18 gadus atpakaļ
Michael Brown
e2c0055e23
Let ifmgmt.c take care of calling efree(), since it's the once which
took out the contract to eventually call efree() when it called fetch().
Maintain the most recently loaded image at the start of the list, so that
imgautoselect() will pick it.
18 gadus atpakaļ
Michael Brown
39ede8c7e8
Added dhcp() user-level command.
18 gadus atpakaļ
Michael Brown
475d6d1f7c
fetch() now knows nothing about struct image; it simply loads a file and
returns the allocated buffer.
18 gadus atpakaļ
Michael Brown
2876197306
Allow "imgexec" with no arguments to boot the file that was loaded with
"kernel".
18 gadus atpakaļ
Michael Brown
f135a37f30
Cleaner separation between imgXXX() functions and image_cmd.c
18 gadus atpakaļ
Michael Brown
9817f93094
Add basic "fetch" and "imgstat" commands.
18 gadus atpakaļ
Michael Brown
de042993c0
Warn when net device on an active route is not open.
18 gadus atpakaļ
Michael Brown
d9ba8f790b
Add route() function to display routing table.
18 gadus atpakaļ
Michael Brown
78ded6604a
Try booting from the "boot" network device first (i.e. the one which we
were loaded from). The code to identify this device isn't present yet,
but the code to act upon the knowledge is.
18 gadus atpakaļ
Michael Brown
dad5274522
Add "name" field to struct device to allow human-readable hardware device
names.
Add "dev" pointer in struct net_device to tie network interfaces back to a
hardware device.
Force natural alignment of data types in __table() macros. This seems to
prevent gcc from taking the unilateral decision to occasionally increase
their alignment (which screws up the table packing).
18 gadus atpakaļ
Michael Brown
55e590ab3a
Move header file for usr/autoboot.c to include/usr
18 gadus atpakaļ
Michael Brown
d24b80acf2
Added network interface management commands
18 gadus atpakaļ
Michael Brown
98b6154c3e
Add "name" field to network device, to facilitate netdev commands.
18 gadus atpakaļ
Michael Brown
0c03bb5a9a
Make open() and close() an official part of the netdevice API.
Call netdevice's poll() and transmit() methods only when device is open.
18 gadus atpakaļ
Michael Brown
84202d89f0
Split the (quick hack) boot logic out from main.c to autoboot.c, add a
"boot" command to attempt booting from within the command shell, fall back
to shell if boot fails for any reason.
18 gadus atpakaļ