Michael Brown
7a82c3eca3
Added missing ssize_t
2006-04-25 12:55:23 +00:00
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
...
even when __atribute__ (( unused )) is correctly set...
2006-04-24 18:31:37 +00:00
Michael Brown
4c4e4de18f
(librm_base-1b) is already an offset; no need to apply OFFSET().
...
Doing so, in fact, seems to expose an assembler bug; (a-b-0) is
apparently not the same as (a-b). Go figure.
2006-04-24 18:29:47 +00:00
Michael Brown
824d6ffa7f
Header rearrangement.
...
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/. Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
2006-04-24 15:42:49 +00:00
Michael Brown
510ccb2900
Added __constant_memcpy() based on version in Linux's string.h.
...
Added memswap().
2006-04-24 15:25:25 +00:00
Michael Brown
b2909e547d
They can come back when they have someone to support them.
2006-03-17 14:13:09 +00:00
Michael Brown
cdf1511d3e
Prefix semantics have changed
2006-03-16 19:28:38 +00:00
Michael Brown
7e0a7a2e08
Merge from Etherboot 5.4
2006-03-16 18:30:54 +00:00
Michael Brown
9b18017296
Merge from Etherboot 5.4
2006-03-16 18:15:48 +00:00
Michael Brown
bb7394b041
Merge from Etherboot 5.4
2006-03-16 17:59:51 +00:00
Michael Brown
5d28bae0f1
Fix up building with gcc 4.0.1 / gas 2.16.91
2006-01-17 01:47:41 +00:00
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
2005-05-24 00:11:25 +00:00
Michael Brown
7b423c0988
Fixes for gcc >= 3.2 from Georg Baum
2005-05-23 23:47:54 +00:00
Michael Brown
809933d9f7
Split PXE code into preboot, udp, tftp, undi and loader units.
...
PXE code now compiles without errors (though it won't actually work).
2005-05-23 23:32:56 +00:00
Michael Brown
079b5d5527
Moved pxe_loader.c to pxe_image.c to avoid name clash
2005-05-23 23:05:45 +00:00
Michael Brown
8becf0f65f
Rearranging PXE header files
2005-05-23 22:45:48 +00:00
Michael Brown
d5789ff4a2
Doxygenation
2005-05-20 11:28:27 +00:00
Michael Brown
d3dec7c331
Update to cope with changes in registers.h
2005-05-20 11:23:51 +00:00
Michael Brown
5231b858c9
Don't use anonymous entries in a struct; it seems to aggravate gcc 3.4.3.
2005-05-20 11:22:09 +00:00
Michael Brown
4e87543c74
Synced across updates from Etherboot 5.4 tree
2005-05-19 16:47:19 +00:00
Michael Brown
d0c9183903
Doxygenation
2005-05-19 14:51:37 +00:00
Michael Brown
dd475a9b8c
Add a const to avoid a warning
2005-05-19 13:02:38 +00:00
Michael Brown
783e9ca396
Added doxygen comments and errno values.
2005-05-18 13:22:45 +00:00
Michael Brown
fac5f28d7e
There is no arch/i386/firmware/linuxbios directory
2005-05-18 11:11:57 +00:00
Michael Brown
205a7ad5e0
Moved NBI support to nbi.c, modified to work with new load mechanism
2005-05-17 13:42:20 +00:00
Michael Brown
9c832a6a69
First version
2005-05-17 13:41:00 +00:00
Michael Brown
9a413cfea1
Moved os_regs into start32.S
2005-05-17 13:37:01 +00:00
Michael Brown
a76b9c3f19
Added debug messages
2005-05-17 13:36:12 +00:00
Michael Brown
479fb900a1
Added copy_phys_to_phys
2005-05-17 13:34:57 +00:00
Michael Brown
4f27994980
Added "image" directory
2005-05-17 13:34:25 +00:00
Michael Brown
3bbf5f28a3
Use __unused instead of __used for static data structures.
...
Remove compiler.h defines from osdep.h
2005-05-17 12:16:28 +00:00
Michael Brown
301b2d40f0
Use the heap functions to allocate a load buffer.
2005-05-13 13:30:51 +00:00
Michael Brown
b94def2088
Include string.h, because we need to define copy_{to,from}_phys
2005-05-09 18:03:14 +00:00
Michael Brown
9fc97f8513
First version
2005-05-09 18:02:22 +00:00
Michael Brown
116f17f605
off_t should be signed.
2005-05-09 14:26:25 +00:00
Michael Brown
e3f2aa7b4d
Add off_t and physaddr_t, and the copy_{to,from}_phys helper routines.
2005-05-09 13:21:56 +00:00
Michael Brown
dc0aa58fb2
Add memcpy
2005-05-09 12:48:00 +00:00
Michael Brown
ff8e46f2f3
#if 0 out the whole file for now; it cannot be linked because the base
...
memory interface has changed.
2005-05-03 11:56:33 +00:00
Michael Brown
282b6f1a1a
isa.c uses the new table infrastructure.
2005-04-27 12:24:38 +00:00
Michael Brown
f37e0a06d7
dev.c uses the new tables infrastructure.
2005-04-27 12:20:54 +00:00
Michael Brown
c08671e5fc
Missing include
2005-04-27 12:17:09 +00:00
Michael Brown
b9e72856b6
Post-relocation functions use the generic table mechanism.
2005-04-27 12:10:24 +00:00
Michael Brown
3e5bf5fb06
console.c uses the generic table mechanism
2005-04-27 11:38:43 +00:00
Michael Brown
3dbdeb588f
ISA bus driver updated to report devices as present only if a driver
...
thinks they are.
Other bus drivers modified for consistency.
2005-04-26 12:30:14 +00:00
Michael Brown
3a7967a38a
PCI_DRIVER changed
2005-04-26 12:20:05 +00:00
Michael Brown
fcee25024f
BIOS floppy handling code moved to where it will really live.
2005-04-25 19:29:55 +00:00
Michael Brown
10b7b1a61f
Added arch/i386/drivers/disk
2005-04-25 19:29:02 +00:00
Michael Brown
5bace628ae
Added "name" field to bus structure.
2005-04-25 18:54:15 +00:00
Michael Brown
698f86f25a
Prevent hundreds of errors from "make symcheck". The prefix exit path
...
mechanism has changed anyway, and so must be rewritten, but at least doing
this makes the output of "make symcheck" more legible.
2005-04-23 14:57:53 +00:00
Michael Brown
dbea213c27
Coerced into compiling.
2005-04-22 16:40:10 +00:00
Michael Brown
84f43ea9cf
isapnp_read_port can be set directly, rather than via a function call.
2005-04-22 16:03:25 +00:00
Michael Brown
98ff29345e
Created a bus/device API that allows for the ROM prefix to specify an
...
initial device, and will also allow for e.g. a device menu to be presented
to the user.
2005-04-21 18:18:29 +00:00
Michael Brown
e74bbaeca0
First versions
2005-04-19 14:17:42 +00:00
Michael Brown
2c7d72e11e
Moved floppy.c to i386 arch, since it's i386-specific.
2005-04-18 18:56:18 +00:00
Michael Brown
e3bb65c17f
Added remaining bus functions.
2005-04-18 18:54:27 +00:00
Michael Brown
7af89ccf33
Code fixed to operate correctly.
2005-04-18 15:48:20 +00:00
Michael Brown
400fd74897
Extracted from firmware/pcbios/bios.c
2005-04-18 15:39:02 +00:00
Michael Brown
d3ce66a301
Added arch/i386/drivers/bus
2005-04-18 15:37:17 +00:00
Michael Brown
c245ab75ad
Moved disk functions to drivers/bus/bios_disks.c
2005-04-18 15:35:39 +00:00
Michael Brown
a245c93417
Be nice to emacs
2005-04-18 12:59:50 +00:00
Michael Brown
451ea7ffc5
Added warning about not using Config for single-object options.
2005-04-18 12:53:39 +00:00
Michael Brown
2c36f5e6c7
Save a few bytes by using naturally-sized ints.
2005-04-18 09:17:27 +00:00
Michael Brown
63e0c8f947
xstart16() fixed up to use new REAL_EXEC mechanism.
2005-04-17 12:36:45 +00:00
Michael Brown
1a6ca649a2
Made copy_{to,from}_real volatile, so that they don't get optimised away.
...
Added REAL_FRAGMENT(), because it could conceivably be useful.
2005-04-17 12:17:06 +00:00
Michael Brown
8e27e50316
We don't refer to _bss and _ebss any more.
2005-04-17 11:47:18 +00:00
Michael Brown
6e5a3858bf
Read number of PCI buses returned by BIOS so that we can scan more
...
quickly.
2005-04-16 11:16:31 +00:00
Michael Brown
2c2154b169
Now compiles.
2005-04-15 16:52:28 +00:00
Michael Brown
44c7cc8c12
Standardised debug mechanism in place now.
2005-04-14 11:55:57 +00:00
Michael Brown
e44e5c7247
compiler.h is now always included on the command line.
2005-04-14 11:50:26 +00:00
Michael Brown
c2a21744f6
We now record a pointer to the struct pci_device, since it's carried
...
around in struct dev anyway.
2005-04-12 22:42:52 +00:00
Michael Brown
e1d0cebfa8
Able to at least compile again now.
2005-04-12 19:11:42 +00:00
Michael Brown
0effbefe6f
All boot device drivers are now lumped together in boot_drivers
2005-04-12 16:46:15 +00:00
Michael Brown
3095881c54
For pci_io.c
2005-04-12 16:44:50 +00:00
Michael Brown
17aad49028
16-bit PCI BIOS interface also now known to work.
2005-04-12 16:42:14 +00:00
Michael Brown
bbcdf38214
Improved debug messages
2005-04-12 16:27:27 +00:00
Michael Brown
ff53205d0d
Should work for KEEP_IT_REAL as well now.
2005-04-12 13:35:31 +00:00
Michael Brown
0ccaf5bb83
Nearly there...
2005-04-12 13:31:36 +00:00
Michael Brown
378c1b500c
Cleaner separation of functionality between post_reloc and
...
initialise_via_librm.
2005-04-11 09:24:10 +00:00
Michael Brown
34a0b5f16f
initialise() doesn't take regs
2005-04-10 18:39:28 +00:00
Michael Brown
87508aa0b2
arch_initialise() is now sufficiently generic that we may as well just
...
call it initialise() and place it in main.c. :)
2005-04-10 18:30:34 +00:00
Michael Brown
997b51c1e6
Use librm_arch_initialise for librm, arch_initialise for others.
2005-04-10 18:22:31 +00:00
Michael Brown
560027899e
Heading towards a sane set of control functions
2005-04-10 18:21:53 +00:00
Michael Brown
39cb1b4f9e
All the icky stuff is now taken care of by librm_arch_initialise
2005-04-10 18:21:27 +00:00
Michael Brown
3714946709
arch_rm_main no longer exists.
2005-04-10 18:19:59 +00:00
Michael Brown
f06e8c9707
Added post-relocation function table.
2005-04-10 18:18:37 +00:00
Michael Brown
070f6c0b6b
Fixed debug messages
2005-04-10 16:58:19 +00:00
Michael Brown
43417e6c1b
setup16() now calls initialise(); we don't have to do it.
2005-04-10 16:48:04 +00:00
Michael Brown
04682f9838
Setup now calls initialise() directly, rather than expecting the
...
prefix to do it.
2005-04-10 16:46:46 +00:00
Michael Brown
44e62317be
Add librm_base.
2005-04-10 16:44:49 +00:00
Michael Brown
dfb9c44994
hooks.o is now a single object, rather than having separate hooks.o and
...
hooks_rm.o
2005-04-10 16:44:29 +00:00
Michael Brown
04a99841e6
Make prot_call() able to transparently return via the newly installed copy
...
of librm.
2005-04-10 15:51:10 +00:00
Michael Brown
44eee81d11
Don't build relocate() under KEEP_IT_REAL
2005-04-09 17:05:35 +00:00
Michael Brown
2fa14f2f1d
lgdt needs data32 prefix, otherwise it loads only 24 bits. (sgdt
...
always saves 32 bits).
2005-04-09 16:42:50 +00:00
Michael Brown
6a4ac358f3
Add INIT_FNs to make sure that librm gets reallocated when needed.
2005-04-09 16:42:07 +00:00
Michael Brown
e29e6456b0
Don't zero freed base memory; one block will contain librm.
2005-04-09 16:14:37 +00:00
Michael Brown
1f6dfd7047
Allow ourselves to be freed by basemem.c without being damaged.
2005-04-09 16:14:09 +00:00
Michael Brown
97ced37c71
Need to provide sizeof(struct free_base_memory_header) to assembly code.
2005-04-09 16:13:19 +00:00
Michael Brown
90cf689810
Note basemem API change.
2005-04-09 15:56:03 +00:00
Michael Brown
48feb91a40
Rewritten in a much saner way, now that we don't have to worry about
...
continually reallocating the real-mode stack.
2005-04-09 15:01:38 +00:00
Michael Brown
0574136c6d
Split out from etherboot.h
2005-04-09 15:01:09 +00:00