x86, boot: make symbols from the main vmlinux available
Make symbols from the main vmlinux, as opposed to just compressed/vmlinux, available to header.S. Also, export a few additional symbols. This will be used in a subsequent patch to export the total memory footprint of the kernel. [ Impact: enable future enhancement ] Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
02a884c0fe
commit
77d1a49995
2 changed files with 20 additions and 11 deletions
|
@ -86,19 +86,27 @@ $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE
|
|||
|
||||
SETUP_OBJS = $(addprefix $(obj)/,$(setup-y))
|
||||
|
||||
sed-offsets := -e 's/^00*/0/' \
|
||||
-e 's/^\([0-9a-fA-F]*\) . \(input_data\|input_data_end\)$$/\#define \2 0x\1/p'
|
||||
sed-voffset := -e 's/^\([0-9a-fA-F]*\) . \(_text\|_end\)$$/\#define VO_\2 0x\1/p'
|
||||
|
||||
quiet_cmd_offsets = OFFSETS $@
|
||||
cmd_offsets = $(NM) $< | sed -n $(sed-offsets) > $@
|
||||
quiet_cmd_voffset = VOFFSET $@
|
||||
cmd_voffset = $(NM) $< | sed -n $(sed-voffset) > $@
|
||||
|
||||
$(obj)/offsets.h: $(obj)/compressed/vmlinux FORCE
|
||||
$(call if_changed,offsets)
|
||||
targets += voffset.h
|
||||
$(obj)/voffset.h: vmlinux FORCE
|
||||
$(call if_changed,voffset)
|
||||
|
||||
sed-zoffset := -e 's/^\([0-9a-fA-F]*\) . \(input_data\|_end\|z_.*\)$$/\#define ZO_\2 0x\1/p'
|
||||
|
||||
quiet_cmd_zoffset = ZOFFSET $@
|
||||
cmd_zoffset = $(NM) $< | sed -n $(sed-zoffset) > $@
|
||||
|
||||
targets += zoffset.h
|
||||
$(obj)/zoffset.h: $(obj)/compressed/vmlinux FORCE
|
||||
$(call if_changed,zoffset)
|
||||
|
||||
targets += offsets.h
|
||||
|
||||
AFLAGS_header.o += -I$(obj)
|
||||
$(obj)/header.o: $(obj)/offsets.h
|
||||
$(obj)/header.o: $(obj)/voffset.h $(obj)/zoffset.h
|
||||
|
||||
LDFLAGS_setup.elf := -T
|
||||
$(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE
|
||||
|
|
|
@ -22,7 +22,8 @@
|
|||
#include <asm/page_types.h>
|
||||
#include <asm/setup.h>
|
||||
#include "boot.h"
|
||||
#include "offsets.h"
|
||||
#include "voffset.h"
|
||||
#include "zoffset.h"
|
||||
|
||||
BOOTSEG = 0x07C0 /* original address of boot-sector */
|
||||
SYSSEG = 0x1000 /* historical load address >> 4 */
|
||||
|
@ -212,8 +213,8 @@ hardware_subarch: .long 0 # subarchitecture, added with 2.07
|
|||
|
||||
hardware_subarch_data: .quad 0
|
||||
|
||||
payload_offset: .long input_data
|
||||
payload_length: .long input_data_end-input_data
|
||||
payload_offset: .long ZO_input_data
|
||||
payload_length: .long ZO_z_input_len
|
||||
|
||||
setup_data: .quad 0 # 64-bit physical pointer to
|
||||
# single linked list of
|
||||
|
|
Loading…
Reference in a new issue