[kvm-unit-tests PATCH v6 11/18] powerpc/ppc64: add a boot rom

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Make a one line replacement for SLOF. This bootloader just
jumps to 0x400000, because we know the kernel will be there.

Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx>
Tested-by: Laurent Vivier <lvivier@xxxxxxxxxx>
Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
---
 powerpc/.gitignore      |  1 +
 powerpc/Makefile.common | 11 +++++++++--
 powerpc/boot_rom.S      |  5 +++++
 3 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 powerpc/.gitignore
 create mode 100644 powerpc/boot_rom.S

diff --git a/powerpc/.gitignore b/powerpc/.gitignore
new file mode 100644
index 0000000000000..2f017a8e61d4b
--- /dev/null
+++ b/powerpc/.gitignore
@@ -0,0 +1 @@
+boot_rom.bin
diff --git a/powerpc/Makefile.common b/powerpc/Makefile.common
index 7762231f6f1f7..06ec96c6e546b 100644
--- a/powerpc/Makefile.common
+++ b/powerpc/Makefile.common
@@ -7,7 +7,7 @@
 tests-common = \
 	$(TEST_DIR)/selftest.elf
 
-all: test_cases
+all: $(TEST_DIR)/boot_rom.bin test_cases
 
 ##################################################################
 
@@ -34,8 +34,15 @@ FLATLIBS = $(libcflat) $(LIBFDT_archive) $(libgcc)
 		-Wl,-T,powerpc/flat.lds,--build-id=none \
 		$(filter %.o, $^) $(FLATLIBS)
 
+$(TEST_DIR)/boot_rom.bin: $(TEST_DIR)/boot_rom.elf
+	dd if=/dev/zero of=$@ bs=256 count=1
+	$(OBJCOPY) -O binary $^ >(cat - >>$@)
+
+$(TEST_DIR)/boot_rom.elf: $(TEST_DIR)/boot_rom.o
+	$(LD) -nostdlib -Ttext=0x100 --entry=start --build-id=none -o $@ $<
+
 powerpc_clean: libfdt_clean asm_offsets_clean
-	$(RM) $(TEST_DIR)/*.{o,elf} \
+	$(RM) $(TEST_DIR)/*.{o,elf} $(TEST_DIR)/boot_rom.bin \
 	      $(TEST_DIR)/.*.d lib/powerpc/.*.d
 
 ##################################################################
diff --git a/powerpc/boot_rom.S b/powerpc/boot_rom.S
new file mode 100644
index 0000000000000..ae2c08ddce3c1
--- /dev/null
+++ b/powerpc/boot_rom.S
@@ -0,0 +1,5 @@
+#define SPAPR_KERNEL_LOAD_ADDR 0x400000
+.text
+.globl start
+start:
+	b	SPAPR_KERNEL_LOAD_ADDR - 0x100
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux