| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
NEWS
core/fs/fs.c
version
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Ruben Kerkhof <ruben at rubenkerkhof.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If EBIOS is detected for this drive it tries to read sector size and
use it. If error or no EBIOS 512 is assumed.
Buffer to read sector size is always allocated into the stack.
CHS informations are not readed as not needed and save space not
restoring %dl for drive number.
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Easy way to reduce code but actually I found the message is
readable at the same way as previous.
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mostly of the time bx was set as phdr before calling read_sector
so add a specific function to set %bx and call read_sector
gaining 2 bytes
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|/
|
|
|
|
|
|
| |
after read_sector %edx:%eax are unused or incremented so increment
always at end gaining 3 bytes
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|
|
|
|
|
|
|
|
| |
Apparently some BIOSes (including some Acer Travelmate machines)
require an MBR to start with 0x33; apparently Micro$oft MBRs start
with 33 C0, an alternate coding of the "xorw %ax,%ax" instruction. As
such, follow suit to work on these braindead BIOSes.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
PartitionTypeGUID being zero means an empty slot, and so we should not
count that partition type.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
The committee didn't like re-using 0xEE for this purpose and wants
0xED instead.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Save four bytes by observing that none of our code relies on
saturate_stosl not actually corrupting %eax.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
| |
Fix the offset for the MSW of the partition endpoint.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
My GPT-based protocol was modified by the UEFI and T13 committees (the
former responsible for the GPT format, the latter for EDD and
therefore for the disk-related part of the BIOS specification.) This
is thus now on its way to become an official protocol, so change the
implementation to match.
This still needs testing, and the Syslinux core needs to be adjusted
to leverage the extended information.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
| |
Produce MBR variants with normal (DL) behavior, force to drive 80
behavior, and force to 80 on Ctrl pressed behavior.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Update copyright notices; add Intel copyright notices where
appropriate.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
Impact: cleanup
Use a symbolic constant for BIOS_kbdflags instead of open-coding the
address.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Impact: BIOS bug workaround, possible unexpected consequences?
Escape hatch for BIOSes which pass in garbage in DL: if the Ctrl key
is pressed during boot, force the drive number to 0x80.
Based on a patch by "TJ <ubuntu@tjworld.net>".
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Using addw to restore the stack pointer clobbers CF. Use leaw
instead, even though this relies on the BIOS not clobbering %si.
Worst case we can add a mov %sp, %si or similar.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Document the GPT boot protocol; add additional assurance by
requiring that EAX contains "!GPT" for the GPT information
to be valid.
|
|
|
|
|
| |
Using cltq (cdq) to clear %edx when %eax is zero is cheaper by one
byte.
|
| |
|
| |
|
|
|
|
| |
Use the start field for the boot sector address...
|
|
|
|
|
|
| |
Fix a case of bad confusion of the start and end fields
(length = end-start+1, so we can't easily reuse the load of the start
field.)
|
|
|
|
|
| |
xhcgw with %ax and a register is one byte shorter than movw with %ax
if %ax is then dead.
|
|
|
|
|
|
| |
Set up %bp as a permanent frame pointer and use it to reference stack
and phdr fields; by putting phdr in the bootsect slot we can use it
for phdr references with small displacements. This saves 5 bytes.
|
|
|
|
|
| |
With %bx advanced to the end of the boot sector, we can use -2(%bx)
instead of (bootsec+510), thus saving one byte.
|
|
|
|
| |
Save one byte...
|
|
|
|
| |
The offsets into phdr, from the EFI spec, are in decimal, not hex.
|
|
|
|
| |
Move the advancing of %bx into read_sector, saving 3 bytes.
|
|
|
|
|
|
| |
Need to tell read_sector where to load the boot sector (unlike the MBR
code, where we always loaded into 0x7c00, this code uses multiple
buffers.)
|
|
|
|
|
| |
Shuffle some code slightly to reduce register pressure; no size change
but this might make the code easier to follow and/or change.
|
|
|
|
| |
Shuffle some code to reduce the total size by 3 bytes
|
|
|
|
| |
Same instruction, but repe is more correct for cmpsw
|
|
Beginnings of a master boot record for GPT partition tables.
|