Commit Graph

  • 4d81b48504 Has been obsolete for a while. Michael Brown 2006-05-25 00:04:37 +00:00
  • 1966945a5d Update relocate() to work with get_memmap(). Michael Brown 2006-05-25 00:04:13 +00:00
  • f939ff7cb5 Fix printf format warning error Michael Brown 2006-05-25 00:02:27 +00:00
  • 3bd3c13c7b Why should pushal/popal put the registers on the stack in a logical order? Michael Brown 2006-05-25 00:01:46 +00:00
  • dd75965057 Typo. Michael Brown 2006-05-25 00:00:53 +00:00
  • e4f8d6eed7 Add a "count" field to struct memory_map. Michael Brown 2006-05-25 00:00:30 +00:00
  • 986f6ffff1 Define a struct memory_map with a fixed number of entries, rather than requiring each caller to decide how many entries it wants to permit. Michael Brown 2006-05-24 14:41:27 +00:00
  • edcf89e2b0 Remove the automatic segment register save and restore; most users of REAL_CODE() don't need it. Michael Brown 2006-05-24 14:11:36 +00:00
  • 02cf755f3f Removed REAL_EXEC(); there is no longer any code using it. Michael Brown 2006-05-24 14:10:15 +00:00
  • 103aff3ae2 Added potentially required "\n\t" on the end of asm_code_str Michael Brown 2006-05-24 14:06:28 +00:00
  • 190276a8b6 NBI is due for removal Michael Brown 2006-05-24 13:53:35 +00:00
  • 52125e158c Will be replaced with a block-device implementation. Michael Brown 2006-05-24 13:52:46 +00:00
  • 8110f9b082 Updated to REAL_CODE() Michael Brown 2006-05-24 13:50:40 +00:00
  • 595f161b51 Updated to REAL_CODE(). Michael Brown 2006-05-24 13:48:16 +00:00
  • e8550035af Updated to REAL_CODE() Michael Brown 2006-05-24 13:28:39 +00:00
  • c4d688c005 Updated to REAL_CODE(). Michael Brown 2006-05-24 13:24:22 +00:00
  • 04d6005d77 Update to REAL_CODE() Michael Brown 2006-05-24 12:45:50 +00:00
  • 6631f46999 Updated to REAL_CODE(). Michael Brown 2006-05-24 12:32:57 +00:00
  • 53935e9dc6 Set carry flag before calling INT 15,e801 and INT 15,e820. Michael Brown 2006-05-24 12:19:16 +00:00
  • 7a53d07027 Split out REAL_CODE() from REAL_EXEC(), preparatory to removing REAL_EXEC completely. Michael Brown 2006-05-24 09:51:04 +00:00
  • 83d80d9e79 Remove references to obsoleted REAL_CALL from documentation. Michael Brown 2006-05-24 09:16:48 +00:00
  • 3b525385af Removed REAL_FRAGMENT and REAL_CALL, and left just REAL_EXEC (which is the only one we actually use). This allows REAL_EXEC fragments to contain proper references to constraints (e.g. "%w0"), rather than having to force the use of specific registers. Michael Brown 2006-05-24 09:14:44 +00:00
  • 77a65075a6 Replaced memsizes.c with smaller memmap.c, taking advantage of __data16, and creating a memory map that's easier to work with than the E820 map. Michael Brown 2006-05-24 01:37:46 +00:00
  • 5e80847827 Code to install the new E820 mangler (which doesn't require copying down to base memory, since it is now in the base-memory-resident .text16 section). Michael Brown 2006-05-23 23:47:05 +00:00
  • 897313007b Add __{text,data}16_array, since there's no way I can see to make the usual __{text,data}16 trick work with arrays. gcc seems to accept the __asm__ ( asmlabel ) only after the [] of the array declaration, not before. Michael Brown 2006-05-23 23:42:45 +00:00
  • 5ec2b2c251 Cope with regions bigger than 4GB. Michael Brown 2006-05-23 23:33:37 +00:00
  • bef8874842 - implemented printw (formatted string output, a la printf) - implemented hline/vline (part of wborder family) - screen cursor now relocates at same time as window cursor when restoring after a non-wrapping function Dan Lynch 2006-05-22 17:03:41 +00:00
  • 84a493b88d Allow vcprintf() to be called by external code such as the curses library. Michael Brown 2006-05-22 15:41:01 +00:00
  • f778500739 - fixes to _wputch to get positioning and wrap working properly - fixes to wborder (same) - addition of a few minor functions Dan Lynch 2006-05-22 13:10:19 +00:00
  • 95956443e1 Fixed debug code Michael Brown 2006-05-21 16:04:41 +00:00
  • 9dfb9d84b4 Made the LBA48 example clearer. Michael Brown 2006-05-21 16:02:38 +00:00
  • 80958ff69c Added (untested) support for ATA devices. This code should be generic enough to support both real IDE chipsets and AoE. Michael Brown 2006-05-21 16:01:23 +00:00
  • ca2519cea3 Refactored to reduce code size; now down from 1304 to 1105 bytes. Michael Brown 2006-05-20 15:33:32 +00:00
  • af4aacb978 Added missing @file block Michael Brown 2006-05-20 13:25:07 +00:00
  • 4d0a0f822d Use insb/outsb; it's marginally faster. Michael Brown 2006-05-20 12:28:44 +00:00
  • 402ba15c64 READ CAPACITY (16) turns out to be an optional command (even though READ(16) is mandatory); we must use READ CAPACITY (10) first and then use READ CAPACITY (16) if the READ CAPACITY (10) returns "out of range". Michael Brown 2006-05-19 18:54:38 +00:00
  • 444b885a7d Add EOVERFLOW==ERANGE Michael Brown 2006-05-19 18:53:12 +00:00
  • b9cbae58fa Expert advice tells me that we *do* have to explicitly state the options even when we want to use the defaults. Michael Brown 2006-05-19 17:50:49 +00:00
  • acf572905c - made some of the bit shifting attribute access simpler (in my mind) - added extern declarations for global vars - removed comments from static inlines (too time consuming to do them all, considering all so far have been due to the ridiculous amount of redundancy within the API spec) - removed a few more extern func decls for funcs that cannot be implemented at this time Dan Lynch 2006-05-19 16:22:10 +00:00
  • d166dc57ab - made _wputch wrap lines as well as cols (wraps back to line 0, as we have not way to scroll...) - implemented color_content, wborder, wblrtobot, wclrtoeol, wcolor_set and several small functions - added rest of expected global variables Dan Lynch 2006-05-19 16:18:08 +00:00
  • d48d0fb1bb Add the concept of a "user pointer" (similar to the void __user * in the kernel), which encapsulates the information needed to refer to an external buffer. Under normal operation, this can just be a void * equivalent, but under -DKEEP_IT_REAL it would be a segoff_t equivalent. Michael Brown 2006-05-19 15:06:51 +00:00
  • 0ab92faedb Use typeof(sizeof(...)) to define a size_t. This stops gcc complaining about format errors for %zX arguments. Michael Brown 2006-05-19 14:51:59 +00:00
  • c69c1ec540 Documented login parameters that we negotiate. Michael Brown 2006-05-19 00:31:42 +00:00
  • a280587cde iSCSI writes seem to be working (at least, the ethereal trace shows no errors; still need to verify data integrity). Michael Brown 2006-05-19 00:20:08 +00:00
  • b531bd2bda All uses iscsi_state were removed some time ago; removing the declaration. Michael Brown 2006-05-18 21:38:16 +00:00
  • 53b682f3a2 Re-enable -Wformat, since our printf() is now more standards-conformant. Michael Brown 2006-05-18 21:23:38 +00:00
  • 2814681d20 all window primitives implemented Dan Lynch 2006-05-18 17:51:19 +00:00
  • 7d239660fb Updated to new SourceForge CVS locations, and fix a couple of minor mistakes. Michael Brown 2006-05-18 13:22:32 +00:00
  • 813a052dc3 Set ErrorRecoveryLevel=0 (we don't want to have to handle it). Michael Brown 2006-05-17 17:41:50 +00:00
  • 61d7b8a5ef Added missing drivers/scsi Michael Brown 2006-05-17 17:31:18 +00:00
  • a4143e8c87 Split debug functions out into core/debug.c, so that they can be automatically linked in on demand. Michael Brown 2006-05-17 17:16:24 +00:00
  • 6b6096d28b Strip down i386 PCI configuration space I/O to the bare minimum. A typical build will now include 880 bytes of PCI support code, compared to 2327 bytes in Etherboot 5.4. Michael Brown 2006-05-17 01:12:11 +00:00
  • 15ee09ed10 Restructured PCI subsystem to fit the new device model. Michael Brown 2006-05-16 15:12:06 +00:00
  • fcdab6299c Missed a reference to heap.h. Michael Brown 2006-05-16 15:01:26 +00:00
  • 0afa9db2de Tear out old heap code, replace with code that simply allocates memory for use by malloc(). Michael Brown 2006-05-16 15:00:36 +00:00
  • 689218618f Fix typo Michael Brown 2006-05-16 14:42:43 +00:00
  • 441189c6f8 Kill off the "all devices are boot devices" idea Michael Brown 2006-05-16 14:42:15 +00:00
  • 7cd0390013 Add list_for_each_entry_safe. Michael Brown 2006-05-16 14:14:31 +00:00
  • ceba6ecb75 Added generic device model. Michael Brown 2006-05-16 14:10:21 +00:00
  • 6b514393d3 Change movetoyx(), putc() and getc() to methods of the screen. Michael Brown 2006-05-15 09:51:18 +00:00
  • a2799051b0 fixed build error (danjlynch, repeat: this is *not* perl, this is *not* perl...) Dan Lynch 2006-05-15 09:34:27 +00:00
  • dccc6aed3a lightweight xcurses implementation for etherboot (Michael made me do it...) Dan Lynch 2006-05-15 09:29:48 +00:00
  • 295e11b2b0 Add INT 13,41 (extensions installation check). LILO's MBR now uses linear calls to load the MS-DOS boot sector in my test setup. Michael Brown 2006-05-14 23:46:28 +00:00
  • f25731d08f Split "iSCSI as a SCSI device" out from "iSCSI as a TCP protocol". Michael Brown 2006-05-14 23:29:16 +00:00
  • 29fb77b0a4 Fix a couple of minor typos. Michael Brown 2006-05-14 18:17:29 +00:00
  • 6e42cb95bd Also capture INT 19 as a failure path, to allow for boot sectors that don't conform to BBS (e.g. the one created by mkdosfs). Michael Brown 2006-05-14 14:13:55 +00:00
  • 4435667a00 Add int13_boot(), to allow booting from INT 13 emulated drives. Michael Brown 2006-05-14 13:44:47 +00:00
  • b4f941b257 Specify attributes on .text16. Michael Brown 2006-05-14 13:39:27 +00:00
  • eb6b8e8d70 Handle the '"%c", 0' case correctly. Michael Brown 2006-05-14 11:55:30 +00:00
  • efd6281a35 Correctly handle zero-length buffers. Michael Brown 2006-05-14 11:18:42 +00:00
  • 25f5d114a0 Updated documentation. Michael Brown 2006-05-14 03:31:20 +00:00
  • 2421723a15 Rewrote printf and friends to better support standard C semantics. Michael Brown 2006-05-14 02:51:55 +00:00
  • f99e7a375e At least cope with "%llx" by reading the correct-sized va_arg from the stack, even if we don't yet print it out. Michael Brown 2006-05-13 11:50:52 +00:00
  • 21493646c2 Moved to net/tcp/iscsi.c. Michael Brown 2006-05-13 11:45:49 +00:00
  • 5080668704 Provide access to rm_cs and rm_ds from protected-mode code. Michael Brown 2006-05-13 11:45:31 +00:00
  • dc8d429ec6 Provide a global counter for the number of interrupts hooked. Michael Brown 2006-05-13 11:44:53 +00:00
  • 63499e9cfd Allow re-entrancy and provide a global counter of the number of interrupts hooked. Michael Brown 2006-05-13 11:44:11 +00:00
  • d822b3d4cd Define BIOS data segment in bios.h Michael Brown 2006-05-13 11:43:07 +00:00
  • a27defa483 Add flag definitions. Michael Brown 2006-05-13 11:42:07 +00:00
  • d2c22ec9bb Add INT 13 emulation layer (which provides an interface to gPXE block devices). Michael Brown 2006-05-13 11:41:36 +00:00
  • 1ad72e0e79 Add 64-bit byte-swapping operations. Michael Brown 2006-05-13 11:40:39 +00:00
  • 5009f8d6a2 Provide a SCSI device interface to the iSCSI protocol Michael Brown 2006-05-13 11:39:46 +00:00
  • f33f01c126 Defined SCSI device interface, and added SCSI block device implementation. Michael Brown 2006-05-13 11:37:50 +00:00
  • 8638a5e471 Defined a block device interface. Michael Brown 2006-05-13 11:36:30 +00:00
  • 1838b58c3f Add drivers/block and arch/i386/interface/pcbios Michael Brown 2006-05-13 11:35:29 +00:00
  • 568cad0ddc (Redoing check-in lost by SourceForge's failure.) Michael Brown 2006-05-13 11:30:03 +00:00
  • 8a229a16f6 (Redoing check-in lost by SourceForge's failure.) Michael Brown 2006-05-13 11:24:25 +00:00
  • 847f38f4ac (Redoing check-in lost by SourceForge's failure.) Michael Brown 2006-05-13 11:19:06 +00:00
  • f7b963da51 (Redoing check-in lost by SourceForge's failure.) Michael Brown 2006-05-13 11:11:55 +00:00
  • 97d265f8dc (Redoing check-in lost by SourceForge's failure.) Michael Brown 2006-05-13 11:10:24 +00:00
  • 10606e95b3 Added tunctl (since it is difficult to find for many distros). Michael Brown 2006-05-13 09:27:54 +00:00
  • fdb983d473 Preserve the whole of %esp across prot_call(). We have to split this between the low half stored in the static variable rm_sp, and the high half stored on the prot_call() stack, because: Michael Brown 2006-05-06 19:44:23 +00:00
  • f8e087767b Allow access to variables in .text16 as well as .data16. Chained interrupt vectors, for example, will be easiest to handle if placed in .text16. Michael Brown 2006-05-06 18:57:31 +00:00
  • c10d1aa9d7 Preserve GDT across prot_call(). Michael Brown 2006-05-06 18:52:27 +00:00
  • dcc1b0054e This line should not have been checked in Michael Brown 2006-05-04 23:22:42 +00:00
  • 832807726a Add infrastructure to support access to .data16 (and .text16) variables from protected-mode code. Michael Brown 2006-05-04 23:14:06 +00:00
  • f4429533a6 Added methods for efficiently declaring and accessing variables in .data16. librm will need to supply "char *data16", i.e. the virtual address of the start of .data16. Michael Brown 2006-05-04 17:00:20 +00:00
  • f8f75cef5b BSS is now zeroed by libprefix (along with the otherwise non-zeroable portions such as the stack) during the installation process. Michael Brown 2006-05-02 21:10:45 +00:00
  • cc23057b59 Typo Michael Brown 2006-05-02 21:09:29 +00:00
  • 10c28a51bd Create two easy-to-use entry points in libprefix: install and install_prealloc. I *think* these will suffice for all the 16-bit prefixes. Michael Brown 2006-05-02 20:51:07 +00:00