John Paul Adrian Glaubitz
8146f22eba
ieee1275: Include a.out header in assembly of sparc64 boot loader
...
Recent versions of binutils dropped support for the a.out and COFF
formats on sparc64 targets. Since the boot loader on sparc64 is
supposed to be an a.out binary and the a.out header entries are
rather simple to calculate in our case, we just write the header
ourselves instead of relying on external tools to do that.
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-09-21 19:37:19 -04:00
Cao jin
5378b6a6fa
diskboot: Trivial correction on stale comments
...
diskboot.img now is loaded at 0x8000 and is jumped to with 0:0x8000.
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-09-21 12:43:53 -04:00
Eric Snowberg
53d00ac6ef
sparc64: Close cdboot ihandle
...
The ihandle is left open with a cd-core image. This will cause a delay
booting grub from a virtual cdrom in a LDOM. It will also cause problems
as Linux boots, since it expects the ihandle to be closed during init.
Orabug: 25911275
Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-09-21 11:32:45 -04:00
Matthew Garrett
c2eee36ec0
Fix boot when there's no TPM
...
If the firmware has TPM support but has no TPM, we're jumping to core.img
without popping the registers back onto the stack. Fix that.
2016-03-23 17:02:52 -07:00
Matthew Garrett
1e32d63145
Add BIOS boot measurement
...
Measure the on-disk grub core on BIOS systems - unlike UEFI, the firmware
can't do this stage for us.
2016-01-05 14:35:17 -08:00
Vladimir Serbinenko
285540e448
mips: Make the assembly-code N32-compatible.
...
There are no $t4 or $t5 in N32 but there are $a4 and $a5.
2015-10-11 13:20:26 +02:00
Vladimir Serbinenko
248bc1d0fc
fwstart: Fix loading of address of read_spd_fail.
2015-07-22 21:42:41 +02:00
Vladimir Serbinenko
63411b14be
fwstart: Add missing argument to p2align.
...
Resulting binary is unchanged as it happens we were already aligned
by chance.
2015-07-22 21:41:58 +02:00
Vladimir Serbinenko
80783ea646
fwstart: Replace blt with bltz.
...
blt A, $zero, B and bltz A, B are equivalent but clang recognizes only
later, so use it.
Resulting binary is unchanged.
2015-07-22 21:40:55 +02:00
Vladimir Serbinenko
eecdbebc84
Remove mips_attributes.
...
mips_attributes was introduced to work around clang problems with
-msoft-float. Those problems are now fixed and moreover .gnu_attributes
itself is unportable and creates problem with clang.
Revert "mips: Fix soft-float handling."
This partially reverts commit 6a4ecd276e
.
2015-07-22 21:05:11 +02:00
Vladimir Serbinenko
064360e667
Remove libgcc dependency.
...
libgcc for boot environment isn't always present and compatible.
libgcc is often absent if endianness or bit-size at boot is different
from running OS.
libgcc may use optimised opcodes that aren't available on boot time.
So instead of relying on libgcc shipped with the compiler, supply
the functions in GRUB directly.
Tests are present to ensure that those replacement functions behave the
way compiler expects them to.
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
6a4ecd276e
mips: Fix soft-float handling.
...
Add -msoft-float alongside clang arguments to specify ABI.
Specify ABI in asm files explicitly.
This trigers asm warning due to gcc failing to propagate -msoft-float
but it's tolerable.
2015-02-23 22:33:28 +01:00
Vladimir Serbinenko
da9f30b455
mips: Switch to more portable .org
...
Binary is unchanged.
2015-02-21 20:43:57 +01:00
Vladimir Serbinenko
49e5fcb9fb
sparc64: Switch to more portable .org.
...
Binaries are unchanged.
2015-02-21 20:32:03 +01:00
Vladimir Serbinenko
3c6043245e
qemu: Switch to more portable .org
...
Binary is checked identical.
2015-02-21 20:13:58 +01:00
Vladimir Serbinenko
8afd8f3b64
qemu: Fix GateA20 enabling.
...
GateA20 code was inactive due to address error.
2015-02-21 20:00:18 +01:00
Vladimir Serbinenko
e62ca2a870
qemu: Fix compilation
2015-02-21 19:55:53 +01:00
Vladimir Serbinenko
37353f0ae5
i386: Remove needless ADDR32 prefixes when address is known and fixed.
...
Shaves off 6 bytes in lzma_decompress.img.
2015-02-21 17:38:56 +01:00
Vladimir Serbinenko
1998d63688
i386-pc/boot: Explicitly mark kernel_address[_high] as local.
...
Otherwise apple asm might try to make accesses relocatable.
2015-02-21 17:20:10 +01:00
Vladimir Serbinenko
bc29c6d019
Change dot assignmnet to more portable .org.
...
Binary is unchanged (verified)
2015-02-21 17:19:01 +01:00
Vladimir Serbinenko
f571dc1af8
i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
...
Is more portable.
Binary is unchanged (verified).
2015-02-21 17:13:23 +01:00
Vladimir Serbinenko
e5851b63e0
mips/startup_raw: Use more portable .asciz
2015-02-21 16:09:46 +01:00
Allen Pais
ee281fd0c6
* grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
...
Also-By: Bob Picco <bob.picco@oracle.com>
2013-12-19 01:53:56 +01:00
Vladimir Serbinenko
fd4650a556
Add bonito 3A support.
2013-12-17 22:49:27 +01:00
Vladimir Serbinenko
bc8fcf4bd3
* grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
2013-12-14 23:13:42 +01:00
Vladimir Serbinenko
4a73746a04
* grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
...
so it doesn't land in the middle of loaded image.
2013-12-04 19:54:37 +01:00
Vladimir Serbinenko
5c066a81c2
Apple assembly doesn't handle symbol arithmetic well. So define an
...
offset symbol in boot.S and use it.
2013-11-24 07:12:12 +01:00
Vladimir Serbinenko
78f961efe9
Apple assembly doesn't handle symbol arithmetic well. So instead
...
of getting addres of kernel_sector + 4 define kernel_sector_high.
It also makes code more readable.
2013-11-24 07:11:00 +01:00
Vladimir Serbinenko
09bc0a577d
With Apple assembly in .macro environvemnt you have to use $$ instead
...
of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
to $$x on Apple and to $x on everything else.
2013-11-24 07:08:18 +01:00
Vladimir Serbinenko
6f2e82be3a
* grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
...
%dx restore the probe worked on non-existant drive. Reorganize the
code a little bit to free 2 bytes necessary for push/pop.
2013-11-24 05:05:33 +01:00
Vladimir Serbinenko
1bba40f578
Move common BIOS/coreboot memory map declarations to
...
include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2013-11-23 12:39:21 +01:00
Vladimir Serbinenko
054efe541f
* grub-core/boot/mips/startup_raw.S: Handle the case of gap between
...
.data and .bss. May happen if compiler and assembly use different
alignment.
2013-11-22 05:07:32 +01:00
Vladimir Serbinenko
6f4a19f59f
Use $t9 for indirect calls from asm to C as PIC ABI requires.
2013-11-22 04:45:05 +01:00
Vladimir Serbinenko
ad2dc00309
* grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
...
argument. We don't disable Gate A20 in this code.
2013-10-25 11:03:39 +02:00
Vladimir Serbinenko
b46684ae53
* grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
...
Conceptually based on change in branch "vbe-on-coreboot".
2013-10-25 10:51:58 +02:00
Josh Triplett
68b777070a
* grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
...
boot partition.
2013-09-23 14:31:42 +02:00
Vladimir 'phcoder' Serbinenko
9c28da2a89
Remove early sm712 init as there is no reason for it (the "watchdog"
...
effect was due to wrong GPIO map).
2013-07-11 16:24:35 +02:00
Andrey Borzenkov
cc28411296
Fix make dist on non-pc.
2013-06-07 18:23:08 +02:00
Vladimir 'phcoder' Serbinenko
17f9fd29d3
Implement grub_machine_get_bootlocation for ARC.
2013-04-27 19:12:11 +02:00
Vladimir 'phcoder' Serbinenko
88d2f3022e
* grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
...
commit.
2013-04-25 03:26:41 +02:00
Vladimir 'phcoder' Serbinenko
daaa64bd90
Add support for pseries and other bootinfo machines to grub-mkrescue.
...
Tested by: Paulo Flabiano Smorigo.
2013-04-19 00:36:23 +02:00
Vladimir 'phcoder' Serbinenko
b49fe8792a
Move GRUB out of system area when using xorriso 1.2.9 or later.
2013-04-14 18:53:14 +02:00
Vladimir 'phcoder' Serbinenko
8ca86b3a03
Support mkrescue on sparc64.
2013-04-14 17:10:55 +02:00
Vladimir 'phcoder' Serbinenko
a79b8a1584
Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
...
feature for it.
2013-04-11 23:15:26 +02:00
Vladimir 'phcoder' Serbinenko
c50c867da3
Init video early on yeeloong to avoid being rebooted by watchdog.
...
* grub-core/Makefile.am (gensm712): New target.
(sm712_start.S): Likewise.
(boot/mips/loongson/fwstart.S): Depend on sm712_start.S
* grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
* grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
description.
* include/grub/vga.h: Move registry definitions to...
* include/grub/vgaregs.h: ... here.
2012-06-26 03:36:14 +02:00
Vladimir 'phcoder' Serbinenko
5f92c8a110
* grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
...
signedness.
2012-06-26 03:31:41 +02:00
Vladimir 'phcoder' Serbinenko
2fb97ed37a
* grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
...
half of $a0.
2012-06-23 11:27:27 +02:00
Vladimir 'phcoder' Serbinenko
f7143efe1b
* grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
...
version.
* grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
* grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
* grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
* grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
* grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2012-05-28 17:51:57 +02:00
Vladimir 'phcoder' Serbinenko
52bfedfa39
* grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
...
size calculation.
* grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
none is known.
2012-03-08 18:54:25 +01:00
Vladimir 'phcoder' Serbinenko
ef023e42a2
* grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
...
to ensure that it's after the last byte of .text.
2012-03-02 11:24:24 +01:00