Michael Brown
041a04335e
Fixed assembly on old versions of gas
18 yıl önce
Michael Brown
f743de4858
Added tcp_kick(). This speed up LILO and GRUB booting by almost two
orders of magnitude.
18 yıl önce
Michael Brown
cd3ecac809
Avoid causing TX overflow on small TX queues.
18 yıl önce
Michael Brown
70ef6dbb7c
Rewrote to use the new net driver API, the updated PCI API, and the
generic three-wire serial device support for EEPROM access.
18 yıl önce
Michael Brown
69b1f24a97
I have no idea how this ever worked before.
18 yıl önce
Michael Brown
6c50564724
Make PKB_ZLEN the minimum possible size of packet buffer (to allow for
hardware that can't autopad).
18 yıl önce
Michael Brown
1dbafa8950
Tidied up debugging messages
18 yıl önce
Michael Brown
aa2468babe
Added abstraction layer for a three-wire serial device (e.g. the EEPROM
used on RTL8139 cards).
18 yıl önce
Michael Brown
2f392ee13e
Need write permission to /dev/net/tun, not just read.
18 yıl önce
Michael Brown
9f86754f90
Updated to work with libprefix.
18 yıl önce
Michael Brown
29340d7728
Documented the fact that the prefix can prot_call(main) without
worrying about its stack being destroyed during the Etherboot run.
18 yıl önce
Michael Brown
0479e9f541
relocate.o is now dragged in by the objects that require it; there is no
need for a CONFIG_RELOCATE.
18 yıl önce
Michael Brown
3204a1e941
Removed some obsolete INIT_XXX constants.
18 yıl önce
Michael Brown
d82f71efd0
Also hide base memory region from E820 map.
18 yıl önce
Michael Brown
89da833c5d
init_librm() and prot_call() are now real-mode far calls.
install() now calls relocate(), moves the protected-mode code to the new
location, and calls hide_etherboot().
18 yıl önce
Michael Brown
4d81b48504
Has been obsolete for a while.
18 yıl önce
Michael Brown
1966945a5d
Update relocate() to work with get_memmap().
Change semantics; relocate() now just finds a suitable location; it
doesn't actually perform the relocation itself. Code in libprefix does
the copy in flat real mode.
18 yıl önce
Michael Brown
f939ff7cb5
Fix printf format warning error
18 yıl önce
Michael Brown
3bd3c13c7b
Why should pushal/popal put the registers on the stack in a logical
order?
18 yıl önce
Michael Brown
dd75965057
Typo.
18 yıl önce
Michael Brown
e4f8d6eed7
Add a "count" field to struct memory_map.
18 yıl önce
Michael Brown
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.
18 yıl önce
Michael Brown
edcf89e2b0
Remove the automatic segment register save and restore; most users of
REAL_CODE() don't need it.
18 yıl önce
Michael Brown
02cf755f3f
Removed REAL_EXEC(); there is no longer any code using it.
18 yıl önce
Michael Brown
103aff3ae2
Added potentially required "\n\t" on the end of asm_code_str
18 yıl önce
Michael Brown
190276a8b6
NBI is due for removal
18 yıl önce
Michael Brown
52125e158c
Will be replaced with a block-device implementation.
18 yıl önce
Michael Brown
8110f9b082
Updated to REAL_CODE()
18 yıl önce
Michael Brown
595f161b51
Updated to REAL_CODE().
int13_boot() now does its own segment register save and restore, ready
for the removal of segment register restoration from the libkir
generic code.
18 yıl önce
Michael Brown
e8550035af
Updated to REAL_CODE()
18 yıl önce
Michael Brown
c4d688c005
Updated to REAL_CODE().
18 yıl önce
Michael Brown
04d6005d77
Update to REAL_CODE()
18 yıl önce
Michael Brown
6631f46999
Updated to REAL_CODE().
18 yıl önce
Michael Brown
53935e9dc6
Set carry flag before calling INT 15,e801 and INT 15,e820.
Ignore carry flag for INT 15,88; the Ralf Brown interrupt list says
that CF is unreliable for this call.
18 yıl önce
Michael Brown
7a53d07027
Split out REAL_CODE() from REAL_EXEC(), preparatory to removing REAL_EXEC
completely.
18 yıl önce
Michael Brown
83d80d9e79
Remove references to obsoleted REAL_CALL from documentation.
18 yıl önce
Michael Brown
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.
Note that the "num_constraints" parameter is now completely obsolete, and
that we can probably reduce the syntax to something like
__asm__ __volatile__ ( REAL_CODE ( "asm statements" )
: output constraints
: input constraints
: clobber );
which would look much more natural, and avoid the need to always specify
a clobber list.
Add userptr_t to libkir.h, to allow it to at least compile.
18 yıl önce
Michael Brown
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.
18 yıl önce
Michael Brown
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).
18 yıl önce
Michael Brown
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.
18 yıl önce
Michael Brown
5ec2b2c251
Cope with regions bigger than 4GB.
We now split e820 regions around ourselves, rather than just
truncating the e820 region. This avoids the worst-case scenario of
losing all memory over 4GB.
It's more important to get the memory map right now that we're
expecting to still be loaded when the OS starts in several situations
(e.g. Linux with UNDI driver, any OS with iSCSI/AoE boot, etc.).
18 yıl önce
Dan Lynch
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
18 yıl önce
Michael Brown
84a493b88d
Allow vcprintf() to be called by external code such as the curses library.
Also trim another eight bytes from vsprintf.o. :)
18 yıl önce
Dan Lynch
f778500739
- fixes to _wputch to get positioning and wrap working properly
- fixes to wborder (same)
- addition of a few minor functions
18 yıl önce
Michael Brown
95956443e1
Fixed debug code
18 yıl önce
Michael Brown
9dfb9d84b4
Made the LBA48 example clearer.
18 yıl önce
Michael Brown
80958ff69c
Added (untested) support for ATA devices. This code should be generic
enough to support both real IDE chipsets and AoE.
18 yıl önce
Michael Brown
ca2519cea3
Refactored to reduce code size; now down from 1304 to 1105 bytes.
Tidied up debug messages; the log now contains one line per INT 13
operation, looking like
INT 13,08 (80): Get drive parameters
INT 13,02 (80): Read: C/H/S 0/47/14 = LBA 0xb9e <-> 1084:0000 (count 106)
18 yıl önce
Michael Brown
af4aacb978
Added missing @file block
18 yıl önce
Michael Brown
4d0a0f822d
Use insb/outsb; it's marginally faster.
18 yıl önce