Michael Brown
feade5da6e
[Settings] Expose SMBIOS via settings API
In particular, expose the system UUID as a setting ("smbios/uuid").
il y a 16 ans
Michael Brown
dbf8a02e8f
[libc] Use __builtin_va_list et al in stdarg.h
The home-grown versions don't work properly for static variadic
functions, when gcc can choose to use a non-standard calling convention.
il y a 16 ans
Alexey Zaytsev
1935439f86
fix the rdtsc namimg
il y a 16 ans
Alexey Zaytsev
379c37bafb
Cleanups
Replace a printf with a DBG in timer_rtdsc.c
Replace a printf in timer.c with assert
Return proper error codes from timer drivers
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com >
il y a 16 ans
Alexey Zaytsev
a1572e0ab0
Modify gPXE core and drivers to work with the new timer subsystem
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com >
il y a 16 ans
Alexey Zaytsev
4006d229e5
Introduce the new timer subsystem.
Timer subsystem initialization code in core/timer.c
Split the BIOS and RTDSC timer drivers from i386_timer.c
Split arch/i386/firmware/pcbios/bios.c into the RTSDC
timer driver and arch/i386/core/nap.c
Split the headers properly:
include/unistd.h - delay functions to be used by the
gPXE core and drivers.
include/gpxe/timer.h - the fimer subsystem interface
to be used by the timer drivers
and currticks() to be used by
the code gPXE subsystems.
include/latch.h - removed
include/timer.h - scheduled for removal. Some driver
are using currticks, which is
only for core subsystems.
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com >
il y a 16 ans
Michael Brown
604c934981
Add DBGLVL_IO to trace all memory-mapped I/O.
il y a 16 ans
Michael Brown
26f3a09ccf
Add UUID to DHCP request as option 97 (if available).
il y a 16 ans
Michael Brown
899f5b8ab2
Added definition of a UUID and uuid_ntoa() (for debugging), and
implemented smbios_get_uuid().
il y a 16 ans
Michael Brown
68c438954d
Update SMBIOS internal API to be easier to use, and not to require
potentially exorbitant amounts of stack space.
il y a 16 ans
Michael Brown
755cb8379d
Allow space for the kernel's real-mode .bss. Previously we weren't
allowing any space for this, which makes it surprising that bzImage
loading ever worked.
il y a 16 ans
Michael Brown
c482fef058
Add missing attribute(packed) to two structures.
il y a 16 ans
Michael Brown
0ed066bc50
rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere
outside of librm.S.
il y a 17 ans
Michael Brown
9c264faa0c
Add const attribute to byte-swapping functions
il y a 17 ans
Michael Brown
687afdcdd9
Add const attribute to byte-swapping functions
il y a 17 ans
Michael Brown
d0974ec716
Separate out arch-independent parts of stdint.h
il y a 17 ans
Michael Brown
eff8b06eff
Separate out arch-independent parts of stdint.h
il y a 17 ans
Michael Brown
9aa61ad5a2
Add per-file error identifiers
il y a 17 ans
Michael Brown
75912b3b77
Remove some obsolete sections of librm.h and libkir.h.
Add some of the missing parts to libkir.h.
il y a 17 ans
Michael Brown
0d9d2ccbae
Completed definition of struct int13_cdrom_specification, and moved to
int13.h.
il y a 17 ans
Michael Brown
6d2e4e719c
Move uninitialised .data16 variables to .bss16; saves around 2000
bytes of useless zeroes in the final image.
il y a 17 ans
Michael Brown
833d6cc8ec
Add __bss16() macro, and allow use of .bss16 section by removing
link-time check for section overlaps. (In order to avoid wasting
space in the executable image, .bss16 will overlap with the following
section, which is .text).
il y a 17 ans
Michael Brown
adf192f566
Shrink cpu.c and render it useful for our purposes.
il y a 17 ans
Michael Brown
f660e8ef58
Add strlen_user() (will be needed for PXE API extensions)
il y a 17 ans
Michael Brown
5e3f2247e0
Kill off lots of warnings in via-velocity.c by correcting these definitions.
il y a 17 ans
Michael Brown
e42eba4af4
Use a common base-memory packet buffer for DHCP construction (as used
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
il y a 17 ans
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
il y a 17 ans
Michael Brown
adf6c8e2a6
Add our own trivial version of stdarg.h. This makes our build
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).
Also saves around 50 bytes in total - not sure why.
il y a 17 ans
Michael Brown
1ae549b892
Add our own trivial version of stdarg.h. This makes our build
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).
Also saves around 50 bytes in total - not sure why.
il y a 17 ans
Michael Brown
ff7d0af585
Provide a buffer in base memory for code to fill with generated DHCP data.
il y a 17 ans
Michael Brown
22ed1fbaf1
Add ability to read serial number from SMBIOS
il y a 17 ans
Michael Brown
7d9267561b
Don't call PXENV_STOP_UNDI in the kpxeprefix. This slighy breaks the
clean separation between loading and starting, but does mean that more
PXE stacks survive the process.
il y a 17 ans
Michael Brown
2cf1e33df1
Split bootsector execution code out into bootsector.c.
Added basic El Torito ISO image boot capability
il y a 17 ans
Michael Brown
f59281d8f6
Yet more synonyms that people tend to use.
il y a 17 ans
Michael Brown
ebb00e032c
Misread the definition of the type_of_loader field; it should include a
version.
il y a 17 ans
Michael Brown
5d57cd47a2
Declaring the CPU architecture in the middle of an assembly file is
somewhat redundant, and also causes gas to complain when we include
the profiling code (which uses an i586 instruction).
il y a 17 ans
Michael Brown
bd95927386
Accelerate memcpy() by around 32% on large, dword-aligned copies.
il y a 17 ans
Michael Brown
a5f6408d8e
We can now load an initrd as well as a kernel
il y a 17 ans
Michael Brown
b9f99858ab
Make the getmemsize() prototype available in memsizes.h, for code that
doesn't want to go to the hassle of processing a full memory map.
il y a 17 ans
Michael Brown
10c9b03cdb
Actually, the initrd image should be architecture-independent.
il y a 17 ans
Michael Brown
f92e04dea4
Add dummy "initrd" image format, just so that images can be marked as
initrds.
il y a 17 ans
Michael Brown
8a490146bf
Copy command line at execution time rather than load time.
Parse command line for "vga=" and "mem=" parameters
il y a 17 ans
Michael Brown
3ccd7335f0
Split bzimage_load into separate functions
il y a 17 ans
Michael Brown
784e10635a
Can almost start a kernel now. It dies with "No setup signature found"
il y a 17 ans
Michael Brown
b07161f397
Placeholder bzImage support
il y a 17 ans
Michael Brown
7bc03d37a2
Select a PXE network device before starting PXE NBP.
Move pxe_boot() code to pxe_image.c
il y a 17 ans
Michael Brown
0b0e34e667
Provide {get,set}_fbms() in basemem.h.
set_fbms() will also update the E820 hidden region.
il y a 17 ans
Michael Brown
bd863e4112
Add header for pxe_boot()
il y a 17 ans
Michael Brown
1d313234b3
Rename copy_user() to memcpy_user(). Add memmove_user() and
userptr_add().
il y a 17 ans
Michael Brown
687c1e3227
Nothing (not even hidemem.c) uses this file!
il y a 17 ans