summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Pan <jacob.jun.pan@intel.com>2009-03-10 04:09:30 -0700
committerPatrick Tjin <pattjin@google.com>2014-07-21 20:22:38 -0700
commita528633fda88a435c59f35f2eee1665dedaf8cf4 (patch)
tree41439d4dc333c71500e43ef9b9e5e3f93f04309d
parent0d20f9c744eed5da0a1dc9ea80ab3d345a6f84ed (diff)
downloadbootstub-a528633fda88a435c59f35f2eee1665dedaf8cf4.tar.gz
Add hardware subarchitecture ID for Moorestown in setup header
-rw-r--r--bootparam.h4
-rw-r--r--bootstub.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/bootparam.h b/bootparam.h
index bd50669..42583ca 100644
--- a/bootparam.h
+++ b/bootparam.h
@@ -271,4 +271,8 @@ struct boot_params {
struct edd_info eddbuf[EDDMAXNR]; /* 0xd00 */
__u8 _pad9[276]; /* 0xeec */
} __attribute__((packed));
+#define X86_SUBARCH_PC 0
+#define X86_SUBARCH_LGUEST 1
+#define X86_SUBARCH_XEN 2
+#define X86_SUBARCH_MRST 3
diff --git a/bootstub.c b/bootstub.c
index 2398af9..9bbf069 100644
--- a/bootstub.c
+++ b/bootstub.c
@@ -95,6 +95,7 @@ static void setup_boot_params(struct boot_params *bp, struct setup_header *sh)
bp->hdr.type_of_loader = 0xff; //bootstub is unknown bootloader for kernel :)
bp->hdr.ramdisk_size = *(u32 *)INITRD_SIZE_OFFSET;
bp->hdr.ramdisk_image = (bp->alt_mem_k*1024 - bp->hdr.ramdisk_size) & 0xFFFFF000;
+ bp->hdr.hardware_subarch = X86_SUBARCH_MRST;
memcpy((u8*)bp->hdr.ramdisk_image, (u8 *)BZIMAGE_OFFSET + *(u32 *)BZIMAGE_SIZE_OFFSET, bp->hdr.ramdisk_size);
}