Michael Brown
c9e5b12473
[i386] Add explicit flags and type on all .section declarations
Try to avoid future problems caused by implicit section flags and/or
type information by instituting a policy that all .section
declarations must explicitly state the flags and type.
Most of this change was achieved using
perl -pi \
-e 's/".text"$/".text", "ax", \@progbits / ; ' \
-e 's/".text16"$/".text16", "ax", \@progbits / ; ' \
-e 's/".text16.null"$/".text16.null", "ax", \@progbits / ; ' \
-e 's/".text16.data"$/".text16.data", "aw", \@progbits / ; ' \
-e 's/".data"$/".data", "aw", \@progbits / ; ' \
-e 's/".data16"$/".data16", "aw", \@progbits / ; ' \
-e 's/".bss"$/".bss", "aw", \@nobits / ; ' \
-e 's/".bss16"$/".bss16", "aw", \@nobits / ; ' \
-e 's/".prefix"$/".prefix", "ax", \@progbits / ; ' \
-e 's/".prefix.lib"$/".prefix.lib", "awx", \@progbits / ; ' \
-e 's/".prefix.data"$/".prefix.data", "aw", \@progbits / ; ' \
-e 's/".weak"$/".weak", "a", \@nobits / ; ' \
`git grep -l '\.section'`
vor 15 Jahren
Daniel Verkamp
e8b22f203f
[comboot] Add COMBOOT and COM32 support
vor 16 Jahren
Stefan Hajnoczi
3715c8c721
[GDB] Zero-extend 16-bit segment registers
When the 16-bit segment registers are accessed using 32-bit instructions
the high order bytes are undefined on older CPUs. We now explicitly
zero the high order bytes when snapshotting the CPU state. This ensures
that the GDB stub reports consistent values for the segment registers.
vor 16 Jahren
Stefan Hajnoczi
19386ec2c8
[GDB] Add watch and rwatch hardware watchpoints
vor 16 Jahren
Stefan Hajnoczi
6e670b5f38
[GDB] Remote debugging over UDP
This commit implements GDB over UDP. Using UDP is more complex than
serial and has required some restructuring.
The GDB stub is now built using one or both of GDBSERIAL and GDBUDP
config.h options.
To enter the debugger, execute the gPXE shell command:
gdbstub <transport> [<options>...]
Where <transport> is "serial" or "udp". For "udp", the name of a
configured network device is required:
gdbstub udp net0
The GDB stub listens on UDP port 43770 by default.
vor 16 Jahren
Stefan Hajnoczi
59b5465b30
[GDB] Handle kill and detach packets.
This commit also includes a test to ensure that single stepping works,
since continue, kill, detach, and single step all share code.
vor 16 Jahren
Stefan Hajnoczi
4180815a90
[GDB] Test suite for the GDB stub
vor 16 Jahren
Michael Brown
720e256c50
[Misc] Kill off long-redundant tests/dhcptest.c
vor 16 Jahren
Michael Brown
43013da9bf
Quick hack to get AoE back in to the tree, on a par with the current
iSCSI hack.
vor 17 Jahren
Michael Brown
487dc5be56
Fix up iscsiboot missing prototype warnings
vor 17 Jahren
Michael Brown
b94420a52b
Ready to start testing
vor 17 Jahren
Michael Brown
01b3dd4fc3
Line buffer API changed a while ago
vor 17 Jahren
Marty Connor
ec0da04e7d
Warnings purge iscsiboot.c
vor 17 Jahren
Michael Brown
15f8323055
Removing obsolete files.
vor 17 Jahren
Michael Brown
07dc294de8
Update DHCP to use data-xfer interface (not yet tested).
vor 17 Jahren
Michael Brown
b7ccdb7948
Add a couple of tests for the URI parsing and resolving code.
vor 17 Jahren
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
vor 18 Jahren
Michael Brown
a213876382
Typo
vor 18 Jahren
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).
vor 18 Jahren
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.
vor 18 Jahren
Michael Brown
698bbe0155
Obsolete
vor 18 Jahren
Michael Brown
497c3a5aad
Fixed HTTP
vor 18 Jahren
Michael Brown
83b7933f8a
Damn it; my lovely resilient scheme falls down when you have a protocol
that switches from line-oriented to byte-oriented partway through, such as
HTTP.
vor 18 Jahren
Michael Brown
996b091b50
Added generic line-buffering code (a la stdio)
vor 18 Jahren
Michael Brown
112d7f9d79
Code used for load buffer and multiboot image testing
vor 18 Jahren
Michael Brown
132a8fe49d
Quick and dirty test for emalloc()
vor 18 Jahren
Michael Brown
c810baad37
Use generic "struct image" rather than "struct elf".
vor 18 Jahren
Michael Brown
d84ec0e5d5
Had this file lying around for ages; may as well check it in.
vor 18 Jahren
Michael Brown
91ac92bc86
Try image as ELF file first. (Don't yet actually try to execute it).
vor 18 Jahren
Michael Brown
3460860bef
Print informative error message when boot fails.
vor 18 Jahren
Michael Brown
0010e10ef3
Update TFTP to use a struct buffer rather than a callback.
Add debug autocolourisation to TFTP.
vor 18 Jahren
Michael Brown
fbfed96965
buffer.c should be using copy_{to,from}_user, rather than
copy_{to,from}_phys.
vor 18 Jahren
Michael Brown
6918cf9e9e
Change FTP to use a data buffer rather than a callback function.
vor 18 Jahren
Michael Brown
c0ef730ec4
Fix bug in buffer.c, add buffer mini-unit test.
vor 18 Jahren
Michael Brown
d45c5e7ce7
Add "route" command (which currently only displays the routing table; it
can't modify it).
vor 18 Jahren
Michael Brown
d9ba8f790b
Add route() function to display routing table.
vor 18 Jahren
Michael Brown
649b789e93
DHCP transmits via specified net device, so no need to create a dummy
routing table entry just to fool ipv4.c any more.
vor 18 Jahren
Michael Brown
98b6154c3e
Add "name" field to network device, to facilitate netdev commands.
vor 18 Jahren
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
vor 18 Jahren
Michael Brown
a2e3357825
Cannot immediately overwrite the peer address when we parse
TargetAddress from the login response, because we still need the old
address while we close the connection!
vor 18 Jahren
Michael Brown
9485478acc
ibft_fill_data() prototype change.
vor 18 Jahren
Michael Brown
024809d454
Use a bigger buffer for the initiator IQN
vor 18 Jahren
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
vor 18 Jahren
Michael Brown
286db6ffa3
Print explicit error message on iSCSI boot failure, and add
"Permission denied" as an error text to strerror().
vor 18 Jahren
Michael Brown
8e460de6be
Obsolete, and no longer functions
vor 18 Jahren
Michael Brown
2ed2b2efe8
Use iskey() and getchar() to interact with console, rather than object
abstraction.
vor 18 Jahren
Michael Brown
c0ec119ede
Typo
vor 18 Jahren
Michael Brown
72b1629cee
Add placeholder ibft.h
vor 18 Jahren
Michael Brown
9aa3e10d7c
Use root-path option (as per RFC 4173) rather than filename option to
determine iSCSI boot parameters.
vor 18 Jahren
Michael Brown
d88832ad7e
Support PXE and iSCSI by default
vor 18 Jahren