diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2014-10-06 15:30:37 +0000 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2014-10-08 14:27:24 +0200 |
commit | 34fc4ab80b507739e2580d490dff67fcfdde11ea (patch) | |
tree | c3f28628ef1ec499a0a922f0e8c489620074c25d /util/mkelfImage/linux-ia64 | |
parent | 076c317d479b701af1b1561d0cd53ec1102016aa (diff) |
mkelfimage: remove
It's not been needed for years, is definitely not needed now
that cbfstool parses bzImages, and its presence keeps confusing
people.
Also, rewrite history. We never mentioned mkelfimage in the
documentation. Never, ever, ever.
Change-Id: Id96a57906ba6a423b06a8f4140d2efde6f280d55
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: http://review.coreboot.org/7021
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <gaumless@gmail.com>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'util/mkelfImage/linux-ia64')
-rw-r--r-- | util/mkelfImage/linux-ia64/Makefile | 33 | ||||
-rw-r--r-- | util/mkelfImage/linux-ia64/convert.bin.c | 310 | ||||
-rw-r--r-- | util/mkelfImage/linux-ia64/convert.h | 17 | ||||
-rw-r--r-- | util/mkelfImage/linux-ia64/convert.lds | 36 | ||||
-rw-r--r-- | util/mkelfImage/linux-ia64/convert_params.c | 334 | ||||
-rw-r--r-- | util/mkelfImage/linux-ia64/head.S | 235 | ||||
-rw-r--r-- | util/mkelfImage/linux-ia64/mkelf-linux-ia64.c | 272 |
7 files changed, 0 insertions, 1237 deletions
diff --git a/util/mkelfImage/linux-ia64/Makefile b/util/mkelfImage/linux-ia64/Makefile deleted file mode 100644 index 38f5d8cd34..0000000000 --- a/util/mkelfImage/linux-ia64/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -LIA64_DIR=linux-ia64 -LIA64_OBJ=$(OBJDIR)/$(LIA64_DIR) -LIA64_DEP=Makefile Makefile.conf $(LIA64_DIR)/Makefile - -$(LIA64_OBJ)/mkelf-linux-ia64.o: $(LIA64_DIR)/mkelf-linux-ia64.c $(LIA64_DIR)/convert.bin.c $(LIA64_DEP) - $(MKDIR) -p $(@D) - $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@ - -ifdef IA64_CC - -$(LIA64_DIR)/convert.bin.c: $(LIA64_OBJ)/convert.bin $(OBJDIR)/bin/bin-to-hex $(LIA64_DEP) - $(MKDIR) -p $(@D) - $(OBJDIR)/bin/bin-to-hex < $(LIA64_OBJ)/convert.bin > $@ - -$(LIA64_OBJ)/convert.bin: $(LIA64_OBJ)/convert $(LIA64_DEP) - $(MKDIR) -p $(@D) - $(IA64_OBJCOPY) -O binary $< $@ - -CONVERT_LIA64_OBJS=$(LIA64_OBJ)/head.o $(LIA64_OBJ)/convert_params.o -$(LIA64_OBJ)/convert: $(LIA64_DIR)/convert.lds $(CONVERT_LIA64_OBJS) $(LIA64_DEP) - $(MKDIR) -p $(@D) - $(IA64_LD) $(IA64_LDFLAGS) -T $(LIA64_DIR)/convert.lds -o $@ $(CONVERT_LIA64_OBJS) - -$(LIA64_OBJ)/head.o: $(LIA64_DIR)/head.S $(LIA64_DIR)/convert.h - $(MKDIR) -p $(@D) - $(IA64_CPP) $(IA64_CFLAGS) -D ASSEMBLY $< | $(IA64_AS) $(IA64_ASFLAGS) -o $@ - -$(LIA64_OBJ)/convert_params.o: $(LIA64_DIR)/convert_params.c $(LIA64_DIR)/convert.h $(LIA64_DEP) - $(IA64_CC) $(IA64_CFLAGS) -c -o $@ $< - - -endif - diff --git a/util/mkelfImage/linux-ia64/convert.bin.c b/util/mkelfImage/linux-ia64/convert.bin.c deleted file mode 100644 index 2b8bcc7fa9..0000000000 --- a/util/mkelfImage/linux-ia64/convert.bin.c +++ /dev/null @@ -1,310 +0,0 @@ -0x00, 0x08, 0x19, 0x06, 0x80, 0x05, 0x20, 0x02, 0x00, 0x62, 0x00, 0xc0, 0x01, 0x00, 0xc0, 0x00, -0x05, 0x00, 0x00, 0x00, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xe0, 0x01, 0xe2, 0x8b, 0x6f, -0x0a, 0x08, 0x38, 0x1e, 0x05, 0x20, 0x30, 0x02, 0x80, 0x00, 0x42, 0x80, 0x04, 0xe0, 0x00, 0x84, -0x1c, 0x28, 0x41, 0x03, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x70, 0x0d, 0x00, 0x50, -0x0d, 0xe0, 0x00, 0x10, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0xe0, 0x81, 0x0d, 0x00, 0x98, -0x0a, 0x80, 0x00, 0x1e, 0x18, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x09, 0x00, 0x07, -0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x01, 0x55, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x07, -0x1d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, -0x00, 0x38, 0x28, 0x40, 0x86, 0x39, 0x00, 0x6a, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, -0x13, 0x00, 0x00, 0x00, 0x01, 0x80, 0x41, 0x04, 0x00, 0xc2, 0x01, 0x00, 0xf0, 0xff, 0xff, 0x48, -0x00, 0x60, 0x3d, 0x1c, 0x80, 0x05, 0x00, 0x41, 0x30, 0x00, 0x42, 0x20, 0x02, 0x60, 0x00, 0x84, -0x0a, 0x60, 0x40, 0x18, 0x3f, 0x23, 0xd0, 0x02, 0x90, 0x44, 0x08, 0x60, 0x05, 0x00, 0xc4, 0x00, -0x00, 0x80, 0x9f, 0x20, 0xd9, 0x17, 0xa0, 0x42, 0x32, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0a, 0x80, 0x9b, 0x22, 0xd9, 0x17, 0x00, 0x2f, 0x41, 0xb2, 0x2f, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0a, 0x80, 0x93, 0x22, 0xd9, 0x17, 0x00, 0x1f, 0x41, 0xb2, 0x2f, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0a, 0x00, 0x88, 0x22, 0xd8, 0x11, 0x00, 0x08, 0x41, 0xb0, 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x01, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x70, 0x51, 0x00, -0x10, 0x38, 0x00, 0x1c, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x70, 0x00, 0x00, 0x43, -0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00, 0xb8, 0x28, 0x00, 0xc0, 0x50, 0x72, 0x1c, 0xe6, -0x10, 0x70, 0x01, 0x1c, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x70, 0x00, 0x00, 0x43, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x48, 0xff, 0xff, 0x58, -0x0b, 0x00, 0x05, 0x40, 0x00, 0x21, 0xe0, 0x02, 0x80, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00, 0xb8, 0x28, 0x00, 0xe0, 0x00, 0x70, 0x18, 0xe6, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xb0, 0xff, 0xff, 0x4a, -0x00, 0x00, 0xb4, 0x48, 0x2a, 0x04, 0x00, 0x60, 0x01, 0x55, 0x00, 0x00, 0xb0, 0x0a, 0x00, 0x07, -0x11, 0x60, 0xc0, 0x19, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x08, 0x00, 0x84, 0x00, -0x01, 0x00, 0x05, 0x40, 0x00, 0x21, 0x90, 0x82, 0x30, 0x00, 0x42, 0x00, 0xc2, 0x01, 0x00, 0x90, -0x0b, 0x78, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x78, 0x50, 0x00, -0x11, 0x38, 0xcc, 0x1d, 0x86, 0x39, 0xe0, 0x00, 0x3c, 0x28, 0x80, 0x03, 0x80, 0x03, 0x00, 0x43, -0x1d, 0x38, 0xb0, 0x1d, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0xf0, 0x80, 0xf0, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x50, 0x03, 0x00, 0x43, -0x10, 0x38, 0xa0, 0x1d, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x00, 0x03, 0x00, 0x43, -0x0b, 0x78, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x78, 0x50, 0x00, -0x1d, 0x70, 0x80, 0x1c, 0x2e, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x11, 0x38, 0xe0, 0x1d, 0x86, 0x39, 0xe0, 0x00, 0x3c, 0x28, 0x80, 0x03, 0x00, 0x02, 0x00, 0x43, -0x11, 0x38, 0x90, 0x1d, 0x86, 0x39, 0xe0, 0x00, 0x3c, 0x28, 0x80, 0x03, 0xa0, 0x00, 0x00, 0x43, -0x0a, 0x38, 0x8c, 0x1d, 0x86, 0xf9, 0xe1, 0x00, 0xa8, 0x00, 0xc2, 0x43, 0x85, 0x50, 0x01, 0x84, -0xcb, 0x08, 0x3c, 0x52, 0x80, 0xd5, 0xe1, 0x00, 0x38, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0xe0, 0x08, 0x38, 0x52, 0x80, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x1d, 0x40, 0x41, 0x18, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x10, 0x30, 0xa0, 0x52, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0xd0, 0xfe, 0xff, 0x4a, -0x0a, 0x70, 0x05, 0x50, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x05, 0x70, 0x51, 0x00, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xe8, 0xfd, 0xff, 0x58, -0x10, 0x30, 0xa0, 0x52, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xe0, 0xff, 0xff, 0x4a, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x90, 0xfe, 0xff, 0x48, -0x0a, 0x38, 0x70, 0x20, 0x86, 0xb1, 0xe1, 0x00, 0xa8, 0x00, 0xc2, 0xc3, 0x01, 0x50, 0x01, 0x84, -0xc2, 0x50, 0x21, 0x54, 0x00, 0xe1, 0xa1, 0x42, 0xa8, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0xc9, 0x70, 0x00, 0x1c, 0x10, 0xd0, 0x01, 0x01, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x03, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x01, 0x38, 0x2c, 0x00, 0xe0, 0x00, 0x01, 0x18, 0xc0, -0xe2, 0x70, 0xb4, 0x00, 0x00, 0xe4, 0x01, 0x01, 0x40, 0x0a, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0xea, 0x08, 0x38, 0x52, 0x80, 0x15, 0x80, 0x02, 0xa4, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x30, 0x40, 0x00, 0xe1, 0x18, 0xf0, 0xf8, 0x43, 0x00, 0x29, 0x00, 0x00, 0x00, 0x04, 0x00, -0x05, 0x00, 0x00, 0x00, 0x01, 0x40, 0x66, 0x66, 0x66, 0x66, 0x66, 0xc0, 0x71, 0xd6, 0x30, 0x63, -0x0a, 0x38, 0x38, 0x00, 0xe1, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x60, 0x00, 0x18, 0x0e, 0x77, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x18, 0x00, 0xe1, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x51, 0x70, 0xf4, 0x52, -0x0b, 0x70, 0x38, 0x1e, 0x05, 0x20, 0xf0, 0x70, 0x38, 0x22, 0x40, 0xe0, 0x00, 0x70, 0x18, 0xe4, -0x0b, 0x78, 0x3c, 0x00, 0x10, 0x20, 0xf0, 0x80, 0x3c, 0x0a, 0x40, 0x00, 0x02, 0x70, 0x00, 0x84, -0x1d, 0x78, 0xc0, 0x1e, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x11, 0x08, 0x3c, 0x52, 0x80, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x80, 0xff, 0xff, 0x4a, -0x1d, 0x80, 0xfc, 0x53, 0x3f, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x10, 0x30, 0xa0, 0x20, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0xa0, 0xfe, 0xff, 0x4b, -0x09, 0x70, 0x00, 0x20, 0x00, 0x10, 0xf0, 0x00, 0xa0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x09, 0xf8, 0x3f, 0x20, 0x81, 0x17, 0x10, 0x70, 0xa0, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x30, 0xa0, 0x20, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xe0, 0xff, 0xff, 0x4a, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x60, 0xfe, 0xff, 0x48, -0x02, 0x38, 0x70, 0x20, 0x86, 0x31, 0x20, 0x01, 0x3d, 0x58, 0xc0, 0xc3, 0x01, 0x50, 0x01, 0x84, -0xc9, 0x70, 0x00, 0x54, 0x00, 0xe1, 0xa1, 0x42, 0xa8, 0x00, 0x42, 0x43, 0x85, 0x50, 0x01, 0x84, -0xec, 0x88, 0x00, 0x1c, 0x18, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0xd0, 0x88, 0x00, 0x1c, 0x10, 0x10, 0x70, 0x80, 0x00, 0x0c, 0xe1, 0x03, 0x20, 0xfe, 0xff, 0x4b, -0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00, 0x40, 0x24, 0x00, 0x00, 0xc2, 0x87, 0xfc, 0x8c, -0x05, 0x00, 0x00, 0x00, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xe0, 0x01, 0xe2, 0xff, 0x6f, -0x01, 0x78, 0x04, 0x1e, 0x00, 0x20, 0xe0, 0x70, 0x44, 0x80, 0x3c, 0xe0, 0x00, 0x01, 0x18, 0xc2, -0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x3c, 0x1c, 0x2c, 0x20, 0xe0, 0x70, 0x3c, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x00, 0x1c, 0x00, 0x10, 0xe0, 0x90, 0x38, 0x1c, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x08, 0x38, 0x52, 0x80, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x90, 0xff, 0xff, 0x4a, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x90, 0xfd, 0xff, 0x48, -0x02, 0x00, 0x05, 0x40, 0x00, 0x21, 0x00, 0x61, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x70, 0x50, 0x00, -0x10, 0x38, 0xa0, 0x1d, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xf0, 0xfc, 0xff, 0x4a, -0x00, 0x80, 0x10, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x00, 0x05, 0x40, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xd0, 0xfc, 0xff, 0x48, -0x02, 0x70, 0x00, 0x54, 0x00, 0x21, 0xa0, 0x42, 0xa8, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x40, 0x01, 0x1c, 0x18, 0x10, 0xe0, 0x00, 0xa0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00, 0x38, 0x28, 0x00, 0xe0, 0x00, 0x70, 0x18, 0xe6, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0xe0, 0xfb, 0xff, 0x4a, -0x0a, 0x70, 0x05, 0x50, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x05, 0x70, 0x51, 0x00, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xf8, 0xfa, 0xff, 0x58, -0x0b, 0x70, 0x00, 0x50, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x70, 0x50, 0x00, -0x10, 0x38, 0x00, 0x1c, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xd0, 0xff, 0xff, 0x4a, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x90, 0xfb, 0xff, 0x48, -0x00, 0x70, 0xfc, 0x45, 0x3f, 0x23, 0x20, 0x00, 0x04, 0x65, 0x00, 0x00, 0x01, 0x00, 0x01, 0x84, -0x1d, 0x38, 0x00, 0x44, 0x06, 0x39, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x40, 0x00, 0x00, 0x43, -0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x70, 0x04, 0x55, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x1d, 0x70, 0x04, 0x42, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x11, 0x08, 0x38, 0x10, 0x80, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa0, 0xf0, 0xff, 0xff, 0x48, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x04, 0x55, 0x00, 0x80, 0x08, 0x00, 0x84, 0x00, -0x1d, 0x80, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x10, 0x30, 0x40, 0x44, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x50, 0x00, 0x00, 0x43, -0x00, 0x78, 0x00, 0x40, 0x00, 0x10, 0x00, 0x09, 0x40, 0x00, 0x42, 0x00, 0x14, 0x00, 0x01, 0x84, -0x0a, 0x70, 0x00, 0x42, 0x00, 0x10, 0x80, 0x80, 0x88, 0x12, 0x68, 0x20, 0x14, 0x08, 0x01, 0x84, -0x1d, 0x30, 0x38, 0x1e, 0x87, 0x38, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0xf3, 0x40, 0x3c, 0x1c, 0x05, 0xe0, 0x41, 0x04, 0x00, 0xc2, 0x01, 0x04, 0xd0, 0xff, 0xff, 0x4a, -0x11, 0x40, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x08, 0x00, 0x84, 0x00, -0x1d, 0x78, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x10, 0x30, 0x3c, 0x44, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x60, 0x00, 0x00, 0x43, -0x0b, 0x70, 0x80, 0x1e, 0x00, 0x20, 0xe0, 0x00, 0x38, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00, 0x38, 0x28, 0x00, 0xe0, 0x00, 0x70, 0x18, 0xe6, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x30, 0x00, 0x00, 0x43, -0x1d, 0x78, 0x04, 0x1e, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x11, 0x30, 0x3c, 0x44, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xc0, 0xff, 0xff, 0x4a, -0x10, 0x88, 0x00, 0x00, 0x00, 0x21, 0x60, 0x78, 0x88, 0x0e, 0xe8, 0x03, 0x80, 0x00, 0x00, 0x43, -0x01, 0x90, 0x3c, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x84, 0x22, 0x00, 0x20, 0x00, 0x01, 0x38, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00, 0x40, 0x28, 0x00, 0xe0, 0x00, 0x70, 0x18, 0xe6, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x40, 0x00, 0x00, 0x43, -0x09, 0x88, 0x04, 0x22, 0x00, 0x21, 0x10, 0x80, 0x48, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, -0x1d, 0x70, 0x44, 0x1e, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x10, 0x30, 0x38, 0x44, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xb0, 0xff, 0xff, 0x4a, -0x0b, 0x78, 0x3c, 0x22, 0x00, 0x20, 0x60, 0x78, 0x88, 0x0e, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, -0xeb, 0x78, 0xfc, 0x45, 0x3f, 0x23, 0xe0, 0x00, 0x3d, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0x11, 0x00, 0x00, 0x1c, 0x80, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x08, 0x00, 0x84, 0x00, -0x00, 0x28, 0x25, 0x0c, 0x80, 0x05, 0x80, 0x02, 0x00, 0x10, 0x48, 0x40, 0x04, 0x00, 0x20, 0x90, -0x00, 0x08, 0x01, 0x40, 0x00, 0x21, 0x40, 0x02, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x05, 0x00, 0x00, 0x00, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x60, 0x04, 0x10, 0x00, 0x68, -0x05, 0x18, 0x05, 0x46, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xe0, 0x84, 0xe3, 0xff, 0x6f, -0x19, 0x38, 0x05, 0x4e, 0x00, 0x20, 0x60, 0x02, 0x8c, 0x30, 0x20, 0x00, 0xa8, 0xfe, 0xff, 0x58, -0x01, 0x00, 0x01, 0x46, 0x18, 0x10, 0x00, 0x28, 0x01, 0x55, 0x00, 0x00, 0x40, 0x0a, 0x00, 0x07, -0x11, 0x10, 0x0c, 0x00, 0x80, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x88, 0xfe, 0xff, 0x48, -0x0a, 0x80, 0x24, 0x02, 0x80, 0x05, 0xf0, 0x40, 0x80, 0x00, 0x42, 0x00, 0x02, 0x01, 0x01, 0x84, -0x00, 0x88, 0x60, 0x40, 0x00, 0x21, 0x20, 0x01, 0x81, 0x00, 0x42, 0x80, 0xc2, 0x02, 0x01, 0x84, -0x09, 0x70, 0x20, 0x41, 0x00, 0x21, 0x30, 0x41, 0x81, 0x00, 0x42, 0x60, 0xe4, 0x02, 0x01, 0x84, -0x00, 0x20, 0xc1, 0x40, 0x00, 0x21, 0x50, 0x92, 0x81, 0x00, 0x42, 0xc0, 0x84, 0x03, 0x01, 0x84, -0x05, 0xe8, 0x00, 0x1e, 0x18, 0xd0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xe0, 0x04, 0x10, 0x00, 0x68, -0x09, 0x38, 0x05, 0x4e, 0x00, 0x20, 0x80, 0x02, 0x38, 0x30, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x40, 0x20, 0x4f, 0x00, 0x21, 0x10, 0x42, 0x9c, 0x00, 0x42, 0x40, 0x04, 0x39, 0x01, 0x84, -0x00, 0xd0, 0x00, 0x20, 0x18, 0x10, 0xe0, 0xc1, 0x9c, 0x00, 0x42, 0xe0, 0x03, 0x3a, 0x01, 0x84, -0x09, 0xb0, 0x00, 0x22, 0x18, 0x10, 0x70, 0x01, 0x48, 0x30, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0x70, 0x00, 0x4a, 0x08, 0x10, 0xc0, 0x41, 0x9d, 0x00, 0x42, 0x60, 0xc3, 0x3a, 0x01, 0x84, -0x00, 0x90, 0x00, 0x28, 0x08, 0x10, 0x80, 0x71, 0x9d, 0x00, 0x42, 0x80, 0x22, 0x3b, 0x01, 0x84, -0x09, 0x78, 0x00, 0x4c, 0x18, 0x10, 0x30, 0x01, 0x4c, 0x20, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x00, 0xc8, 0xc0, 0x4e, 0x00, 0x21, 0x50, 0xc1, 0x9d, 0x00, 0x42, 0xc0, 0x00, 0x40, 0x1d, 0xe4, -0x08, 0x80, 0x00, 0x46, 0x08, 0x10, 0x10, 0x01, 0x90, 0x10, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x02, 0x00, 0x38, 0x28, 0x88, 0x11, 0x40, 0x01, 0x9e, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x08, 0x00, 0x3c, 0x2a, 0x98, 0x11, 0x00, 0xe8, 0x84, 0x30, 0x23, 0xe0, 0x01, 0x04, 0x01, 0x84, -0x08, 0x00, 0x68, 0x44, 0x98, 0x11, 0x00, 0xb0, 0x78, 0x30, 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, -0x08, 0x00, 0x5c, 0x3e, 0x98, 0x11, 0x00, 0x98, 0x70, 0x20, 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, -0x08, 0x00, 0x48, 0x36, 0x88, 0x11, 0x00, 0x80, 0x60, 0x10, 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x00, 0x44, 0x32, 0x88, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x40, 0x00, 0x00, 0x42, -0x0b, 0x70, 0x00, 0x10, 0x18, 0x10, 0x70, 0x00, 0x38, 0x0c, 0x72, 0x00, 0x00, 0x00, 0x04, 0x00, -0xe9, 0x70, 0x00, 0x1e, 0x18, 0xd0, 0x01, 0x40, 0x21, 0x30, 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, -0xe0, 0x00, 0x38, 0x28, 0x98, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x1d, 0x70, 0x00, 0x40, 0x18, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x11, 0x30, 0x00, 0x1c, 0x07, 0x39, 0x00, 0x02, 0x38, 0x00, 0x42, 0x83, 0x08, 0x00, 0x84, 0x02, -0x11, 0x10, 0x04, 0x00, 0x80, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0xfe, 0xff, 0x48, -0x00, 0x40, 0x31, 0x12, 0x80, 0x05, 0x10, 0x02, 0x00, 0x00, 0x42, 0xc0, 0x04, 0x00, 0x00, 0x84, -0x18, 0x20, 0x01, 0x00, 0x00, 0x21, 0xe0, 0x20, 0x80, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x20, -0x02, 0x10, 0x31, 0x40, 0x00, 0x21, 0x70, 0x02, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x70, 0x00, 0x1c, 0x10, 0x10, 0x00, 0x02, 0x39, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x30, 0x88, 0x40, 0x07, 0x34, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0xd0, 0x00, 0x00, 0x43, -0x02, 0x70, 0x00, 0x44, 0x00, 0x21, 0x90, 0x62, 0x88, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x0b, 0x80, 0x10, 0x1c, 0x10, 0x14, 0xe0, 0x00, 0x38, 0x20, 0x20, 0xe0, 0x31, 0x80, 0x00, 0x84, -0x0b, 0x78, 0xf0, 0x1f, 0x2c, 0x22, 0xe0, 0x18, 0x38, 0x00, 0x42, 0xe0, 0x01, 0x78, 0x48, 0x00, -0x03, 0x70, 0xf0, 0x1d, 0x2c, 0x22, 0x30, 0x4a, 0x3d, 0x00, 0x40, 0xc0, 0x01, 0x70, 0x48, 0x00, -0x02, 0x28, 0x8d, 0x1c, 0x00, 0x20, 0xe0, 0x40, 0x88, 0x00, 0x42, 0xe0, 0x00, 0x2a, 0x19, 0xd0, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x70, 0x00, 0x00, 0x43, -0x10, 0x38, 0x00, 0x20, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x70, 0x01, 0x00, 0x42, -0x0b, 0x70, 0x00, 0x1c, 0x10, 0x10, 0x60, 0x10, 0x38, 0x0e, 0x73, 0x00, 0x00, 0x00, 0x04, 0x00, -0xd0, 0x20, 0x01, 0x46, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x30, 0x00, 0x00, 0x43, -0x11, 0x30, 0x08, 0x1c, 0x87, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x42, -0x0a, 0x30, 0x04, 0x1c, 0x87, 0xb9, 0x11, 0x02, 0x8c, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x11, 0x10, 0x01, 0x4a, 0x00, 0x21, 0x60, 0x28, 0x81, 0x0e, 0x68, 0x03, 0x50, 0xff, 0xff, 0x4a, -0x02, 0x48, 0x00, 0x48, 0x08, 0x39, 0x70, 0x00, 0x98, 0x0c, 0x72, 0xe3, 0x11, 0x00, 0x00, 0x90, -0xe9, 0x78, 0x00, 0x00, 0x00, 0x21, 0xe2, 0x08, 0x00, 0x00, 0xc8, 0xc4, 0x01, 0x00, 0x00, 0x84, -0x0b, 0x70, 0x3c, 0x1c, 0x0c, 0x20, 0x60, 0x00, 0x38, 0x0e, 0x73, 0x00, 0x00, 0x00, 0x04, 0x00, -0xe4, 0x50, 0x01, 0x48, 0x00, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x23, 0x05, 0xe4, 0xff, 0x6f, -0xea, 0x58, 0x01, 0x4c, 0x00, 0xe1, 0x91, 0x0a, 0xa4, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x78, 0xf5, 0xff, 0x5b, -0x10, 0x30, 0x00, 0x42, 0x07, 0x39, 0x00, 0x40, 0x01, 0x55, 0x00, 0x03, 0x40, 0x00, 0x00, 0x43, -0x05, 0x00, 0x00, 0x00, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x84, 0xe5, 0xff, 0x6f, -0x03, 0x00, 0x05, 0x40, 0x00, 0x20, 0x00, 0x38, 0x05, 0x80, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, -0x11, 0x10, 0x08, 0x00, 0x80, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x38, 0xf5, 0xff, 0x48, -0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x01, 0x55, 0x00, 0x00, 0x70, 0x0a, 0x00, 0x07, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x08, 0x00, 0x84, 0x00, -0x1d, 0x30, 0x0c, 0x1c, 0x87, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0xd0, 0x30, 0x01, 0x46, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x20, 0xff, 0xff, 0x4b, -0x0a, 0x30, 0x10, 0x1c, 0x87, 0xb9, 0x91, 0x02, 0x8c, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xf8, 0xfb, 0xff, 0x5b, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xf0, 0xfe, 0xff, 0x48, -0x10, 0x38, 0x28, 0x20, 0x86, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0xe0, 0xfe, 0xff, 0x4a, -0x05, 0x58, 0x29, 0x00, 0x00, 0xe4, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x40, 0x85, 0xe6, 0xff, 0x6f, -0x11, 0x50, 0x05, 0x54, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x28, 0xfa, 0xff, 0x58, -0x11, 0x70, 0x20, 0x44, 0x00, 0x21, 0x70, 0x00, 0x20, 0x0c, 0x73, 0x03, 0xb0, 0xfe, 0xff, 0x4a, -0x0b, 0x70, 0x00, 0x1c, 0x10, 0x10, 0x60, 0x10, 0x38, 0x0e, 0x73, 0x00, 0x00, 0x00, 0x04, 0x00, -0xc0, 0x90, 0x80, 0x46, 0x00, 0xa1, 0x31, 0x81, 0x8c, 0x00, 0x42, 0x83, 0x82, 0x19, 0x01, 0x84, -0x05, 0x00, 0x00, 0x00, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xc3, 0x01, 0x10, 0x00, 0x68, -0xca, 0x70, 0x04, 0x1c, 0x00, 0xa0, 0xf1, 0x80, 0x38, 0x00, 0x42, 0x03, 0x82, 0x71, 0x00, 0x84, -0xc2, 0x88, 0x80, 0x1c, 0x00, 0xa1, 0xe1, 0x40, 0x39, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0xc9, 0x00, 0x48, 0x1e, 0x98, 0x91, 0xf1, 0x00, 0x8c, 0x30, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0xc9, 0x00, 0x3c, 0x20, 0x98, 0x91, 0xf1, 0x00, 0x4c, 0x30, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0xc9, 0x00, 0x3c, 0x22, 0x98, 0x91, 0xf1, 0x00, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0xd0, 0x00, 0x3c, 0x1c, 0x90, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x20, 0xfe, 0xff, 0x4b, -0x11, 0x30, 0x08, 0x1c, 0x87, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x50, 0x00, 0x00, 0x42, -0x10, 0x30, 0x04, 0x1c, 0x87, 0x39, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x00, 0xfe, 0xff, 0x4a, -0x05, 0x78, 0x00, 0x46, 0x18, 0xd0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xc0, 0x01, 0x10, 0x00, 0x68, -0x0b, 0x70, 0x04, 0x1c, 0x00, 0x20, 0xe0, 0x40, 0x38, 0x00, 0x42, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x00, 0x3c, 0x1c, 0x98, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xd0, 0xfd, 0xff, 0x48, -0x11, 0x30, 0x0c, 0x1c, 0x87, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x60, 0x00, 0x00, 0x43, -0x10, 0x30, 0x10, 0x1c, 0x87, 0x39, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0xb0, 0xfd, 0xff, 0x4a, -0x04, 0x50, 0x01, 0x46, 0x00, 0xe1, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x20, 0x05, 0x10, 0x00, 0x68, -0x0b, 0x58, 0x21, 0x00, 0x00, 0x24, 0x90, 0x0a, 0xa4, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, -0x11, 0x48, 0xb1, 0x52, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x88, 0xf8, 0xff, 0x58, -0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x70, 0xfd, 0xff, 0x48, -0x05, 0x78, 0x00, 0x46, 0x18, 0xd0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xc0, 0x01, 0x10, 0x00, 0x68, -0x1d, 0x70, 0x04, 0x1c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, -0x11, 0x70, 0xe0, 0x1c, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x70, 0xff, 0xff, 0x48, -0x00, 0x20, 0x19, 0x0a, 0x80, 0x05, 0x10, 0x81, 0x88, 0x00, 0x42, 0xe0, 0x01, 0x12, 0x01, 0x84, -0x08, 0x80, 0x00, 0x40, 0x10, 0x10, 0x20, 0xc2, 0x88, 0x00, 0x42, 0x60, 0x04, 0x00, 0xc4, 0x00, -0x05, 0x28, 0x01, 0x40, 0x00, 0xe1, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xc0, 0x01, 0x10, 0x00, 0x68, -0x0a, 0x70, 0x04, 0x1c, 0x00, 0x20, 0x20, 0x01, 0x3a, 0x00, 0x42, 0x60, 0x82, 0x74, 0x00, 0x84, -0x04, 0x00, 0x3c, 0x1c, 0x98, 0x11, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x71, 0xe0, 0x83, 0x65, -0x0a, 0x78, 0x00, 0x22, 0x18, 0x10, 0x70, 0x70, 0x40, 0x0c, 0x71, 0x00, 0x00, 0x00, 0x04, 0x00, -0x09, 0x00, 0x3c, 0x24, 0x98, 0x11, 0xe0, 0x00, 0x88, 0x30, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, -0x10, 0x00, 0x38, 0x26, 0x98, 0x11, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x50, 0x00, 0x00, 0x43, -0x11, 0x28, 0x01, 0x42, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x18, 0xfa, 0xff, 0x58, -0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x01, 0x55, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, -0x05, 0x00, 0x00, 0x00, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x01, 0x10, 0x00, 0x68, -0x11, 0x40, 0x04, 0x10, 0x00, 0x20, 0x00, 0x18, 0x05, 0x80, 0x03, 0x80, 0x08, 0x00, 0x84, 0x00, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x78, 0xfb, 0xff, 0x58, -0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x48, -0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x4c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x25, 0x73, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, -0x6f, 0x6e, 0x3a, 0x20, 0x25, 0x73, 0x0a, 0x00, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, -0x3a, 0x20, 0x25, 0x73, 0x0a, 0x00, 0x00, 0x00, 0x45, 0x74, 0x68, 0x65, 0x72, 0x62, 0x6f, 0x6f, -0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x18, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x3d, 0x68, 0x65, 0x61, 0x64, 0x2e, -0x53, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x3d, 0x74, 0x74, 0x79, 0x53, 0x30, 0x20, -0x69, 0x70, 0x3d, 0x64, 0x68, 0x63, 0x70, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x3d, 0x2f, 0x64, 0x65, -0x76, 0x2f, 0x6e, 0x66, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - diff --git a/util/mkelfImage/linux-ia64/convert.h b/util/mkelfImage/linux-ia64/convert.h deleted file mode 100644 index ff71385934..0000000000 --- a/util/mkelfImage/linux-ia64/convert.h +++ /dev/null @@ -1,17 +0,0 @@ -#define CMDLINE_MAX 1024 - -#ifdef ASSEMBLY -#define CONVERT_MAGIC 0xA5A5A5A5A5A5A5A5 -#else -#define CONVERT_MAGIC 0xA5A5A5A5A5A5A5A5ULL -#endif - -#ifndef ASSEMBLY -struct image_parameters { - uint64_t convert_magic; - uint64_t entry; - uint64_t initrd_start; - uint64_t initrd_size; - uint8_t cmdline[CMDLINE_MAX]; -}; -#endif diff --git a/util/mkelfImage/linux-ia64/convert.lds b/util/mkelfImage/linux-ia64/convert.lds deleted file mode 100644 index c729a5235f..0000000000 --- a/util/mkelfImage/linux-ia64/convert.lds +++ /dev/null @@ -1,36 +0,0 @@ -OUTPUT_FORMAT("elf64-ia64-little") -OUTPUT_ARCH(ia64) - -ENTRY(_start) -SECTIONS { - /* . = 0; */ - . = 0x0000000004400000; - .text : { - _text = . ; - *(.text) - *(.rodaa) - *(.rodata.*) - _etext = . ; - } - . = ALIGN(16); - __gp = . + 0x200000; - .sdata : { - _sdata = . ; - *(.got.plt) - *(.got) - *(.srodata) - *(.sdata) - _esdata = . ; - } - .data : { - _data = . ; - *(.data) - *(.data.*) - *(.trailer) - _edata = . ; - } - /DISCARD/ : { - *(.comment) - *(.note) - } -}
\ No newline at end of file diff --git a/util/mkelfImage/linux-ia64/convert_params.c b/util/mkelfImage/linux-ia64/convert_params.c deleted file mode 100644 index a58f4adf80..0000000000 --- a/util/mkelfImage/linux-ia64/convert_params.c +++ /dev/null @@ -1,334 +0,0 @@ -#include "stdint.h" -#include "limits.h" -#include <stdarg.h> -#include "elf.h" -#include "elf_boot.h" -#include "convert.h" - - -/* NOTE be very careful with static variables. No relocations are - * being performed so static variables with initialized pointers will - * point to the wrong locations, unless this file is loaded at just - * the right location. - */ -/* Data and functions in head.S */ -extern void uart_tx_byte(int c); - -static void putchar(int c) -{ - if (c == '\n') { - putchar('\r'); - } -#if 0 - uart_tx_byte(c); -#endif -} - -#define LONG_SHIFT ((int)((sizeof(unsigned long)*CHAR_BIT) - 4)) -#define INT_SHIFT ((int)((sizeof(unsigned int)*CHAR_BIT) - 4)) -#define SHRT_SHIFT ((int)((sizeof(unsigned short)*CHAR_BIT) - 4)) -#define CHAR_SHIFT ((int)((sizeof(unsigned char)*CHAR_BIT) - 4)) - -/************************************************************************** -PRINTF and friends - - Formats: - %x - 4 bytes int (8 hex digits, lower case) - %X - 4 bytes int (8 hex digits, upper case) - %lx - 8 bytes long (16 hex digits, lower case) - %lX - 8 bytes long (16 hex digits, upper case) - %hx - 2 bytes int (4 hex digits, lower case) - %hX - 2 bytes int (4 hex digits, upper case) - %hhx - 1 byte int (2 hex digits, lower case) - %hhX - 1 byte int (2 hex digits, upper case) - - optional # prefixes 0x or 0X - %d - decimal int - %c - char - %s - string - Note: width specification not supported -**************************************************************************/ -static void printf(const char *fmt, ...) -{ - va_list args; - char *p; - va_start(args, fmt); - for ( ; *fmt != '\0'; ++fmt) { - if (*fmt != '%') { - putchar(*fmt); - continue; - } - if (*++fmt == 's') { - for(p = va_arg(args, char *); *p != '\0'; p++) - putchar(*p); - } - else { /* Length of item is bounded */ - char tmp[40], *q = tmp; - int shift = INT_SHIFT; - if (*fmt == 'l') { - shift = LONG_SHIFT; - fmt++; - } - else if (*fmt == 'h') { - shift = SHRT_SHIFT; - fmt++; - if (*fmt == 'h') { - shift = CHAR_SHIFT; - fmt++; - } - } - - /* - * Before each format q points to tmp buffer - * After each format q points past end of item - */ - if ((*fmt | 0x20) == 'x') { - /* With x86 gcc, sizeof(long) == sizeof(int) */ - unsigned long h; - int ncase; - if (shift > INT_SHIFT) { - h = va_arg(args, unsigned long); - } else { - h = va_arg(args, unsigned int); - } - ncase = (*fmt & 0x20); - for ( ; shift >= 0; shift -= 4) - *q++ = "0123456789ABCDEF"[(h >> shift) & 0xF] | ncase; - } - else if (*fmt == 'd') { - char *r; - long i; - if (shift > INT_SHIFT) { - i = va_arg(args, long); - } else { - i = va_arg(args, int); - } - if (i < 0) { - *q++ = '-'; - i = -i; - } - p = q; /* save beginning of digits */ - do { - *q++ = '0' + (i % 10); - i /= 10; - } while (i); - /* reverse digits, stop in middle */ - r = q; /* don't alter q */ - while (--r > p) { - i = *r; - *r = *p; - *p++ = i; - } - } - else if (*fmt == 'c') - *q++ = va_arg(args, int); - else - *q++ = *fmt; - /* now output the saved string */ - for (p = tmp; p < q; ++p) - putchar(*p); - } - } - va_end(args); -} - -void *memcpy(void *vdest, void *vsrc, size_t size) -{ - unsigned char *dest = vdest, *src = vsrc; - size_t i; - for(i = 0; i < size; i++) { - *dest++ = *src++; - } - return dest; -} - -int memcmp(void *vs1, void *vs2, size_t size) -{ - unsigned char *s1 =vs1, *s2=vs2; - size_t i; - for(i = 0; i < size; i++, s1++, s2++) { - if (*s1 != *s2) - return *s1 - *s2; - } - return 0; - -} - -void strappend(char *dest, const char *src, size_t max) -{ - size_t len, i; - /* Walk to the end of the destination string */ - for(len = 0; len < max; len++) { - if (dest[len] == '\0') - break; - } - /* Walk through the source string and append it */ - for(i = 0; (i + len) < max; i++) { - if (src[i] == '\0') - break; - dest[len + i] = src[i]; - } - len = len + i; - /* Now null terminate the string */ - if (len >= max) { - len = max -1; - } - dest[len] = '\0'; -} - -static struct ia64_boot_param { - uint64_t command_line; /* physical address of command line arguments */ - uint64_t efi_systab; /* physical address of EFI system table */ - uint64_t efi_memmap; /* physical address of EFI memory map */ - uint64_t efi_memmap_size; /* size of EFI memory map */ - uint64_t efi_memdesc_size; /* size of an EFI memory map descriptor */ - uint32_t efi_memdesc_version; /* memory descriptor version */ - struct { - uint16_t num_cols; /* number of columns on console output device */ - uint16_t num_rows; /* number of rows on console output device */ - uint16_t orig_x; /* cursor's x position */ - uint16_t orig_y; /* cursor's y position */ - } console_info; - uint64_t fpswa; /* physical address of the fpswa interface */ - uint64_t initrd_start; - uint64_t initrd_size; -} bp = { 0, 0, 0, 0, 0, 0, { 80, 24, 0, 0 }, 0, 0, 0 }; - -static void append_command_line(char *arg) -{ - strappend((char *)bp.command_line, " ", CMDLINE_MAX); - strappend((char *)bp.command_line, arg, CMDLINE_MAX); -} - -static void convert_ia64_boot_params(struct ia64_boot_param *orig_bp) -{ - /* Copy the parameters I have no clue about */ - bp.efi_systab = orig_bp->efi_systab; - bp.efi_memmap = orig_bp->efi_memmap; - bp.efi_memmap_size = orig_bp->efi_memmap_size; - bp.efi_memdesc_size = orig_bp->efi_memdesc_size; - bp.efi_memdesc_version = orig_bp->efi_memdesc_version; - bp.console_info.num_cols = orig_bp->console_info.num_cols; - bp.console_info.num_rows = orig_bp->console_info.num_rows; - bp.console_info.orig_x = orig_bp->console_info.orig_x; - bp.console_info.orig_y = orig_bp->console_info.orig_y; - bp.fpswa = orig_bp->fpswa; - /* If a ramdisk was supplied and I didn't original have one, - * use it. - */ - if (orig_bp->initrd_size && (!bp.initrd_size)) { - bp.initrd_start = orig_bp->initrd_start; - bp.initrd_size = orig_bp->initrd_size; - } - /* If a command line was supplied append it */ - if (orig_bp->command_line) { - append_command_line((char *)(orig_bp->command_line)); - } -} - -static void convert_bhdr_params(Elf_Bhdr *bhdr) -{ - unsigned char *note, *end; - char *ldr_name, *ldr_version, *firmware; - - ldr_name = ldr_version = firmware = 0; - - note = ((char *)bhdr) + sizeof(*bhdr); - end = ((char *)bhdr) + bhdr->b_size; - while(note < end) { - Elf_Nhdr *hdr; - unsigned char *n_name, *n_desc, *next; - hdr = (Elf_Nhdr *)note; - n_name = note + sizeof(*hdr); - n_desc = n_name + ((hdr->n_namesz + 3) & ~3); - next = n_desc + ((hdr->n_descsz + 3) & ~3); - if (next > end) - break; -#if 0 - printf("n_type: %x n_name(%d): n_desc(%d): \n", - hdr->n_type, hdr->n_namesz, hdr->n_descsz); -#endif - - if (hdr->n_namesz == 0) { - switch(hdr->n_type) { - case EBN_FIRMWARE_TYPE: - firmware = n_desc; - break; - case EBN_BOOTLOADER_NAME: - ldr_name = n_desc; - break; - case EBN_BOOTLOADER_VERSION: - ldr_version = n_desc; - break; - case EBN_COMMAND_LINE: - append_command_line(n_desc); - break; - } - } - else if ((hdr->n_namesz == 10) && - (memcmp(n_name, "Etherboot", 10) == 0)) { - switch(hdr->n_type) { - case EB_IA64_SYSTAB: - { - uint64_t *systabp = (void *)n_desc; - bp.efi_systab = *systabp; - break; - } - case EB_IA64_FPSWA: - { - uint64_t *fpswap = (void *)n_desc; - bp.fpswa = *fpswap; - break; - } - case EB_IA64_CONINFO: - memcpy(&bp.console_info, n_desc, sizeof(bp.console_info)); - break; - case EB_IA64_MEMMAP: - { - struct efi_mem_map { - uint64_t map_size; - uint64_t map_key; - uint64_t descriptor_size; - uint64_t descriptor_version; - uint8_t map[40]; - } *map = (void *)n_desc; - bp.efi_memmap = (uint64_t)&map->map; - bp.efi_memmap_size = map->map_size; - bp.efi_memdesc_size = map->descriptor_size; - bp.efi_memdesc_version = map->descriptor_version; - break; - } - } - } - note = next; - } - if (ldr_name && ldr_version) { - printf("Loader: %s version: %s\n", - ldr_name, ldr_version); - } - if (firmware) { - printf("Firmware: %s\n", - firmware); - } -} - -void *convert_params(unsigned long arg1, unsigned long r28, - struct image_parameters *params) -{ - struct ia64_boot_param *orig_bp; - Elf_Bhdr *bhdr = (Elf_Bhdr*)arg1; - - /* handle the options I can easily deal with */ - bp.command_line = (unsigned long)¶ms->cmdline; - bp.initrd_start = params->initrd_start; - bp.initrd_size = params->initrd_size; - - orig_bp = (struct ia64_boot_param *)r28; - if (bhdr->b_signature == 0x0E1FB007) { - convert_bhdr_params(bhdr); - } - else { - convert_ia64_boot_params(orig_bp); - } - - return &bp; -} diff --git a/util/mkelfImage/linux-ia64/head.S b/util/mkelfImage/linux-ia64/head.S deleted file mode 100644 index df1b6827cb..0000000000 --- a/util/mkelfImage/linux-ia64/head.S +++ /dev/null @@ -1,235 +0,0 @@ -#define ASSEMBLY 1 - - .text - -#include "convert.h" - - .globl _start - .proc _start -_start: - alloc loc0=ar.pfs,1,2,3,0 /* in, local, out, rotating */ - mov loc1=rp - mov r14=ip /* Get the address of _start, I'm in the first bundle */ - movl r15=@gprel(_start) - ;; - sub gp=r14,r15 /* gp = _start - @gprel(_start), current value of gp */ - ;; - mov out0=in0 - mov out1=r28 - add out2=@gprel(params),gp - br.call.sptk.few rp=convert_params - - - mov r28=r8 - add r15=@gprel(entry), gp - ;; - ld8 r16=[r15] - ;; - mov b1=r16 - mov ar.pfs=loc0 - mov rp=loc1 - ;; - br.cond.sptk.few b1 - - .size _start, . - _start - .endp _start - - -#if 0 - -/* Base Address */ -#define UART_BASE 0x00000000f8030000 -#define UART_BAUD 9600 - -/* Data */ -#define UART_RBR 0x00 -#define UART_TBR 0x00 -/* Control */ -#define UART_IER 0x01 -#define UART_IIR 0x02 -#define UART_FCR 0x02 -#define UART_LCR 0x03 -#define UART_MCR 0x04 - -#define UART_DLL 0x00 -#define UART_DLM 0x01 -/* Status */ -#define UART_LSR 0x05 -#define UART_MSR 0x06 -#define UART_SCR 0x07 - -#define UART_PHYS_BASE (0x8000000000000000|UART_BASE) -#define UART_DIV (115200/UART_BAUD) -#define UART_DIV_LO (UART_DIV&0xFF) -#define UART_DIV_HI ((UART_DIV >> 8)&0xFF) - -#if ((115200%UART_BAUD) != 0) -#error Bad uart baud rate -#endif - -/* NOTE: As these are debugging functions, they do not consume any - * space on the register stack, and instead rely entirely on - * scratch registers for the registers they use. - */ -uart_init: - /* set the UART_BASE */ - movl r31=UART_PHYS_BASE - ;; - - /* disable interrupts */ - add r30=UART_IER,r31 - mov r29=0x00 - ;; - st1 [r30]=r29 - - /* enable fifos */ - add r30=UART_FCR,r31 - mov r29=0x01 - ;; - st1 [r30]=r29 - - /* Set Baud Rate Divisor to UART_BAUD */ - add r30=UART_LCR,r31 - mov r29=0x83 - ;; - st1 [r30]=r29 - - add r30=UART_DLL,r31 - mov r29=UART_DIV_LO - ;; - st1 [r30]=r29 - - add r30=UART_DLM,r31 - mov r29=UART_DIV_HI - ;; - st1 [r30]=r29 - - add r30=UART_LCR,r31 - mov r29=0x03 - ;; - st1 [r30]=r29 - - br.ret.sptk.few rp - - .proc uart_tx_byte - .globl uart_tx_byte -uart_tx_byte: - /* set the UART_PHYS_BASE */ - movl r31=UART_PHYS_BASE - ;; -__uart_tx_byte: - /* Wait until the UART can hold another byte */ - add r30=UART_LSR,r31 - ;; -9: ld1.acq.nta r29=[r30] - ;; - and r29=0x20,r29 - ;; - cmp.eq p63,p0=0,r29 -(p63) br.cond.sptk.few 9b - - /* Transmit the byte */ - add r30=UART_TBR,r31 - ;; - st1.rel.nta [r30]=r32 - ;; - - /* Wait until the UART is empty to be certain the byte is flushed */ - add r30=UART_LSR,r31 - ;; -9: ld1.acq.nta r29=[r30] - ;; - and r29=0x40,r29 - ;; - cmp.eq p63,p0=0,r29 -(p63) br.cond.sptk.few 9b - ;; - br.ret.sptk.few rp - .endp uart_tx_byte - -__uart_tx_hex_char: - cmp.ltu p62,p63=9,r32 - ;; -(p63) add r32=48,r32 /* digits*/ -(p62) add r32=55,r32 /* letters */ - br.cond.sptk.few __uart_tx_byte - -uart_tx_hex64: - /* set the UART_bASE */ - movl r31=UART_PHYS_BASE - /* skip r28 */ - mov r27=rp - mov r26=ar.pfs - mov r25=r32 - ;; - extr.u r32=r25,60,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,56,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,52,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,48,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,44,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,40,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,36,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,32,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,28,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,24,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,20,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,16,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,12,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,8,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,4,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - extr.u r32=r25,0,4 - br.call.sptk.few rp=__uart_tx_hex_char - ;; - mov ar.pfs = r26 - mov rp = r27 - ;; - br.ret.sptk.few rp -#endif - - .section ".trailer", "a" - /* Constants set at build time, these are at the very end of my image */ - .balign 16 - .global params -params: -convert_magic: - .quad CONVERT_MAGIC -entry: - .quad 0 -initrd_start: - .quad 0 -initrd_size: - .quad 0 -cmdline: - .asciz "BOOT_IMAGE=head.S console=ttyS0 ip=dhcp root=/dev/nfs" - .org cmdline + 1024, 0 -cmdline_end: diff --git a/util/mkelfImage/linux-ia64/mkelf-linux-ia64.c b/util/mkelfImage/linux-ia64/mkelf-linux-ia64.c deleted file mode 100644 index d4236cac99..0000000000 --- a/util/mkelfImage/linux-ia64/mkelf-linux-ia64.c +++ /dev/null @@ -1,272 +0,0 @@ -#include <stdio.h> -#include <errno.h> -#include <stdlib.h> -#include <stdint.h> -#include <string.h> -#define _GNU_SOURCE -#include <getopt.h> -#include "elf.h" -#include "elf_boot.h" -#include "convert.h" -#include "mkelfImage.h" - -static unsigned char payload[] = { -#include "convert.bin.c" -}; - -char *linux_ia64_probe(char *kernel_buf, off_t kernel_size) -{ - Elf64_Ehdr *ehdr; - Elf64_Phdr *phdr; - int i; - int phdrs; - ehdr = (Elf64_Ehdr *)kernel_buf; - if ( - (ehdr->e_ident[EI_MAG0] != ELFMAG0) || - (ehdr->e_ident[EI_MAG1] != ELFMAG1) || - (ehdr->e_ident[EI_MAG2] != ELFMAG2) || - (ehdr->e_ident[EI_MAG3] != ELFMAG3)) { - return "No ELF signature found on kernel\n"; - } - if (ehdr->e_ident[EI_CLASS] != ELFCLASS64) { - return "Not a 64bit ELF kernel\n"; - } - if (ehdr->e_ident[EI_DATA] != ELFDATA2LSB) { - return "Not a little endian ELF kernel\n"; - } - if (le16_to_cpu(ehdr->e_type) != ET_EXEC) { - return "Not an executable kernel\n"; - } - if (le16_to_cpu(ehdr->e_machine) != EM_IA_64) { - return "Not an ia64 kernel\n"; - } - if ( (ehdr->e_ident[EI_VERSION] != EV_CURRENT) || - (le32_to_cpu(ehdr->e_version) != EV_CURRENT)) { - return "Kernel not using ELF version 1.\n"; - } - if (le16_to_cpu(ehdr->e_phentsize) != sizeof(*phdr)) { - return "Kernel uses bad program header size.\n"; - } - phdr = (Elf64_Phdr *)(kernel_buf + le64_to_cpu(ehdr->e_phoff)); - phdrs = 0; - for(i = 0; i < le16_to_cpu(ehdr->e_phnum); i++) { - if (le32_to_cpu(phdr[i].p_type) != PT_LOAD) - continue; - phdrs++; - } - if (phdrs == 0) { - return "No PT_LOAD segments!\n"; - } - return 0; -} - -struct kernel_info -{ - int phdrs; - char *kernel_buf; - Elf64_Ehdr *ehdr; - Elf64_Phdr *phdr; - uint64_t entry; - char *version; -}; - -static void parse_kernel(struct kernel_info *info, - char *kernel_buf, size_t kernel_size) -{ - Elf64_Ehdr *ehdr; - Elf64_Phdr *phdr; - int i; - int phdrs; - ehdr = (Elf64_Ehdr *)kernel_buf; - phdr = (Elf64_Phdr *)(kernel_buf + le64_to_cpu(ehdr->e_phoff)); - phdrs = 0; - for(i = 0; i < le16_to_cpu(ehdr->e_phnum); i++) { - if (le32_to_cpu(phdr[i].p_type) != PT_LOAD) - continue; - phdrs++; - } - if (phdrs == 0) { - die("No PT_LOAD segments!\n"); - } - info->kernel_buf = kernel_buf; - info->ehdr = ehdr; - info->phdrs = phdrs; - info->phdr = phdr; - info->entry = le64_to_cpu(ehdr->e_entry); - info->version = "unknown"; -} - -static int populate_kernel_phdrs(struct kernel_info *info, struct memelfphdr *phdr) -{ - uint64_t paddr; - int i; - paddr = 0; - for(i = 0; i < info->phdrs; i++) { - Elf64_Phdr *hdr; - int j; - hdr = 0; - for(j = 0; j < le16_to_cpu(info->ehdr->e_phnum); j++) { - if (le16_to_cpu(info->phdr[j].p_type != PT_LOAD)) { - continue; - } - if (paddr > le64_to_cpu(info->phdr[j].p_paddr)) { - continue; - } - if (hdr && - le64_to_cpu(hdr->p_paddr) < - le64_to_cpu(info->phdr[j].p_paddr)) { - continue; - } - hdr = info->phdr + j; - } - if (!hdr) { - die("Expected %d phdrs found %d!", info->phdrs, i); - } - phdr[i].p_paddr = le64_to_cpu(hdr->p_paddr); - phdr[i].p_vaddr = le64_to_cpu(hdr->p_vaddr); - phdr[i].p_filesz = le64_to_cpu(hdr->p_filesz); - phdr[i].p_memsz = le64_to_cpu(hdr->p_memsz); - phdr[i].p_data = info->kernel_buf + le64_to_cpu(hdr->p_offset); - paddr = phdr[i].p_paddr + phdr[i].p_memsz; - } - return i; -} - - -void linux_ia64_usage(void) -{ - printf( - " --command-line=<string> Set the command line to <string>\n" - " --append=<string> Set the command line to <string>\n" - " --initrd=<filename> Set the initrd to <filename>\n" - " --ramdisk=<filename> Set the initrd to <filename>\n" - ); - return; -} - -#define OPT_CMDLINE OPT_MAX+0 -#define OPT_RAMDISK OPT_MAX+1 - -int linux_ia64_mkelf(int argc, char **argv, - struct memelfheader *ehdr, char *kernel_buf, off_t kernel_size) -{ - const char *ramdisk, *cmdline; - char *payload_buf, *ramdisk_buf; - off_t payload_size, ramdisk_size; - struct memelfphdr *phdr; - struct memelfnote *note; - struct kernel_info kinfo; - struct image_parameters *params; - int index; - - int opt; - static const struct option options[] = { - MKELF_OPTIONS - { "command-line", 1, 0, OPT_CMDLINE }, - { "append", 1, 0, OPT_CMDLINE }, - { "initrd", 1, 0, OPT_RAMDISK }, - { "ramdisk", 1, 0, OPT_RAMDISK }, - { 0 , 0, 0, 0 }, - }; - static const char short_options[] = "HV"; - - ramdisk = 0; - cmdline=""; - - while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) { - switch(opt) { - case '?': - error("Unknown option %s\n", argv[optind]); - break; - case OPT_RAMDISK: - ramdisk = optarg; - break; - case OPT_CMDLINE: - cmdline = optarg; - break; - default: - break; - } - } - ehdr->ei_class = ELFCLASS64; - ehdr->ei_data = ELFDATA2LSB; - ehdr->e_type = ET_EXEC; - ehdr->e_machine = EM_IA_64; - - /* locate the payload buffer */ - payload_buf = payload; - payload_size = sizeof(payload); - - /* slurp the input files */ - ramdisk_buf = slurp_file(ramdisk, &ramdisk_size); - - /* parse the kernel */ - parse_kernel(&kinfo, kernel_buf, kernel_size); - - /* Find the parameters */ - params = (void *)(payload_buf + (payload_size - sizeof(*params))); - - /* A sanity check against bad versions of binutils */ - if (params->convert_magic != CONVERT_MAGIC) { - die("Internal error convert_magic %16llx != %16llx\n", - (unsigned long long)(params->convert_magic), CONVERT_MAGIC); - } - - /* Copy the command line */ - strncpy(params->cmdline, cmdline, sizeof(params->cmdline)); - params->cmdline[sizeof(params->cmdline)-1]= '\0'; - - /* Add a program header for the note section */ - phdr = add_program_headers(ehdr, 2 + kinfo.phdrs + (ramdisk_size?1:0)); - - /* Fill in the program headers*/ - phdr[0].p_type = PT_NOTE; - - /* Fill in the kernel program headers */ - index = 1 + populate_kernel_phdrs(&kinfo, phdr + 1); - - /* Fill in the converter program header */ - phdr[index].p_paddr = roundup(phdr[index -1].p_paddr + phdr[index -1].p_memsz, 16); - phdr[index].p_vaddr = phdr[index].p_paddr; - phdr[index].p_filesz = payload_size; - phdr[index].p_memsz = payload_size; - phdr[index].p_data = payload_buf; - index++; - - /* Set the start location */ - params->entry = kinfo.entry; - ehdr->e_entry = phdr[index -1].p_paddr; - - - /* Fill in the ramdisk program header */ - params->initrd_start = params->initrd_size = 0; - if (ramdisk_size) { - phdr[index].p_paddr = roundup(phdr[index -1].p_paddr + phdr[index -1].p_memsz, 16); - phdr[index].p_vaddr = phdr[index].p_paddr; - phdr[index].p_filesz = ramdisk_size; - phdr[index].p_memsz = ramdisk_size; - phdr[index].p_data = ramdisk_buf; - params->initrd_start = phdr[index].p_paddr; - params->initrd_size = phdr[index].p_filesz; - index++; - } - - /* Compute the elf notes */ - note = add_notes(ehdr, 3); - note[0].n_type = EIN_PROGRAM_NAME; - note[0].n_name = "ELFBoot"; - note[0].n_desc = "Linux"; - note[0].n_descsz = strlen(note[0].n_desc)+1; - - note[1].n_type = EIN_PROGRAM_VERSION; - note[1].n_name = "ELFBoot"; - note[1].n_desc = kinfo.version; - note[1].n_descsz = strlen(note[1].n_desc)+1; - - note[2].n_type = EIN_PROGRAM_CHECKSUM; - note[2].n_name = "ELFBoot"; - note[2].n_desc = 0; - note[2].n_descsz = 2; - - return 0; -} |