Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | (Redoing check-in lost by SourceForge's failure.) | Michael Brown | 2006-05-13 | 1 | -11/+21 |
| | | | | Avoid optimisation errors under -fstrict-aliasing. | ||||
* | Preserve the whole of %esp across prot_call(). We have to split this | Michael Brown | 2006-05-06 | 1 | -7/+14 |
| | | | | | | | | | | | | | between the low half stored in the static variable rm_sp, and the high half stored on the prot_call() stack, because: Just using the stack would screw up when a prot_call()ed routine executes a real_call(); it would have no way to find the current top of the RM stack. Extending rm_sp to rm_esp would not be safe, because the guarantee that rm_sp must return to the correct value by the time an external real-mode call returns applies only to %sp, not to %esp. | ||||
* | Allow access to variables in .text16 as well as .data16. Chained | Michael Brown | 2006-05-06 | 3 | -2/+16 |
| | | | | | interrupt vectors, for example, will be easiest to handle if placed in .text16. | ||||
* | Preserve GDT across prot_call(). | Michael Brown | 2006-05-06 | 1 | -6/+12 |
| | |||||
* | This line should not have been checked in | Michael Brown | 2006-05-05 | 1 | -1/+0 |
| | |||||
* | Add infrastructure to support access to .data16 (and .text16) variables | Michael Brown | 2006-05-05 | 2 | -76/+125 |
| | | | | | | | | | from protected-mode code. Set up %ds to point to .data16 in prot_to_real, so that code specified via REAL_EXEC() and friends can access variables in .data16. Move most real-mode librm variables from .text16 to .data16. | ||||
* | Added methods for efficiently declaring and accessing variables in | Michael Brown | 2006-05-04 | 3 | -0/+59 |
| | | | | | .data16. librm will need to supply "char *data16", i.e. the virtual address of the start of .data16. | ||||
* | BSS is now zeroed by libprefix (along with the otherwise non-zeroable | Michael Brown | 2006-05-02 | 2 | -18/+3 |
| | | | | | | | portions such as the stack) during the installation process. init_fns() are called from main(). We need to think about initial control flow some more. | ||||
* | Typo | Michael Brown | 2006-05-02 | 1 | -2/+2 |
| | |||||
* | Create two easy-to-use entry points in libprefix: install and | Michael Brown | 2006-05-02 | 4 | -35/+122 |
| | | | | | install_prealloc. I *think* these will suffice for all the 16-bit prefixes. | ||||
* | <name>_size variable is no longer needed, since we don't copy the code. | Michael Brown | 2006-05-02 | 1 | -3/+1 |
| | | | | | However, it's worth adding a .size directive so that objdump reports the correct sizes for the code fragments. | ||||
* | Towards a(nother) new real-mode infrastructure, in which we take | Michael Brown | 2006-05-02 | 10 | -1182/+460 |
| | | | | | advantage of the fact that we have to have a permanently-resident block in base memory. | ||||
* | Move stack out to separate object, so that having a stack doesn't drag in | Michael Brown | 2006-05-02 | 2 | -9/+13 |
| | | | | setup.S. | ||||
* | Verified as working | Michael Brown | 2006-05-02 | 1 | -6/+9 |
| | |||||
* | This should be much more elegant: we use flat real mode for the | Michael Brown | 2006-05-02 | 1 | -130/+219 |
| | | | | | highmem data, so decompress16 will be able to unpack blocks bigger than 64kB. | ||||
* | Checking in because I don't want to lose this rather neat code for | Michael Brown | 2006-05-01 | 1 | -0/+178 |
| | | | | | running the decompresser in 16:16 protected mode using the real-mode stack. However, there's an even simpler way to do it... | ||||
* | Typo | Michael Brown | 2006-04-30 | 1 | -1/+7 |
| | |||||
* | Merge TCP aborted(), timedout() and closed() methods into a single | Michael Brown | 2006-04-30 | 6 | -102/+131 |
| | | | | closed() method with a reason code. | ||||
* | Half-way tidy | Michael Brown | 2006-04-30 | 1 | -116/+159 |
| | |||||
* | Make all TCP methods optional; at least FTP data is a read-only | Michael Brown | 2006-04-30 | 2 | -46/+11 |
| | | | | connection and so legitimately ignores acked() and senddata(). | ||||
* | Proof-of-concept FTP implementation | Michael Brown | 2006-04-30 | 2 | -0/+331 |
| | |||||
* | Add a temporary snprintf, so that safely-written code can at least | Michael Brown | 2006-04-30 | 2 | -0/+12 |
| | | | | compile, even if it won't yet be safe. | ||||
* | Fix up prototype of strtoul() to match POSIX. | Michael Brown | 2006-04-30 | 2 | -2/+2 |
| | |||||
* | Created net/tcp and moved hello.c there | Michael Brown | 2006-04-30 | 2 | -1/+134 |
| | |||||
* | Make tcp_connect() void; it will eventually have no failure case. | Michael Brown | 2006-04-30 | 4 | -17/+7 |
| | |||||
* | Put the TCP connection periodic processing in tcp.c, where it belongs. | Michael Brown | 2006-04-30 | 3 | -8/+66 |
| | |||||
* | Consistency | Michael Brown | 2006-04-30 | 1 | -3/+3 |
| | |||||
* | Moved uIP and tcp.c from proto/ to net/ | Michael Brown | 2006-04-30 | 8 | -3/+3512 |
| | |||||
* | Move init.h to gpxe/init.h. | Michael Brown | 2006-04-30 | 16 | -19/+83 |
| | |||||
* | Change semantics of network API so that packet-absorbing calls *always* | Michael Brown | 2006-04-29 | 4 | -53/+94 |
| | | | | | | | | | | | take ownership of the packet, rather than doing so only if they return success. This breaks semantic compatibility with Linux's hard_start_xmit() method, but means that we don't have to worry so much about error cases. Split mechanism of processing received packets (net_rx_process()) out from policy (net_step()), preparatory to putting net_step() in a separate object. | ||||
* | Added basic code for implementing co-operative multitasking. | Michael Brown | 2006-04-29 | 2 | -0/+88 |
| | | | | Yes, you really can do it in 65 bytes. | ||||
* | Give uIP a static IP address for proof-of-concept testing | Michael Brown | 2006-04-28 | 1 | -0/+11 |
| | |||||
* | Network layer now works as a proof of concept | Michael Brown | 2006-04-28 | 6 | -92/+272 |
| | |||||
* | Fix a couple of broken assertions, and align the buffer correctly. | Michael Brown | 2006-04-28 | 2 | -3/+6 |
| | |||||
* | Transmit the buffer contents, not the buffer descriptor... | Michael Brown | 2006-04-28 | 1 | -2/+4 |
| | |||||
* | Add an explicit failure debug message | Michael Brown | 2006-04-28 | 1 | -0/+2 |
| | |||||
* | Exclude bin directory from tags generation. | Michael Brown | 2006-04-28 | 1 | -1/+6 |
| | | | | | Create something that might be usable as a symbol list for bochs' internal debugger. | ||||
* | Gave up on adding POSIX errno's as required, and just added (almost) all | Michael Brown | 2006-04-28 | 2 | -27/+67 |
| | | | | | | of them in one go. EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED. | ||||
* | Glenn managed to shrink .text by 5 more bytes. | Michael Brown | 2006-04-25 | 1 | -3/+6 |
| | |||||
* | D'oh | Michael Brown | 2006-04-25 | 1 | -1/+1 |
| | |||||
* | Added missing ssize_t | Michael Brown | 2006-04-25 | 1 | -0/+1 |
| | |||||
* | Actually, it's probably a good idea to have packet buffers avoid 4kB | Michael Brown | 2006-04-25 | 2 | -7/+30 |
| | | | | crossings. | ||||
* | Update to use POSIX-like API. | Michael Brown | 2006-04-25 | 1 | -19/+8 |
| | |||||
* | Fixed erroneous comparison | Michael Brown | 2006-04-25 | 1 | -1/+1 |
| | |||||
* | Removed incorrect comment; malloc() is inefficient only when the | Michael Brown | 2006-04-25 | 1 | -5/+0 |
| | | | | | alignment and size are both powers of two, and there's no way to specify an alignment through the malloc() interface anyway. | ||||
* | Now passes trivial tests. free_memblock() needs neatening up. | Michael Brown | 2006-04-25 | 1 | -15/+34 |
| | |||||
* | Updated memory allocator to improve support for unaligned or partially | Michael Brown | 2006-04-25 | 3 | -154/+224 |
| | | | | | | | | | aligned blocks. Moved header to include/malloc.h, since we now also provide the POSIX-like malloc()/free() pair. Not yet tested. | ||||
* | Add __constant_flsl(), because it's useful for finding out the next | Michael Brown | 2006-04-25 | 1 | -0/+54 |
| | | | | | | | | power-of-two up from a given constant via ( 1 << fls ( constant - 1 ) ) fls(), flsl(), ffs() and ffsl() appear in strings.h according to POSIX. | ||||
* | Added missing headers required for compilation in Etherboot. | Michael Brown | 2006-04-24 | 1 | -0/+2 |
| | |||||
* | Added pkb_reserve(). | Michael Brown | 2006-04-24 | 1 | -0/+14 |
| |