... and move page-aligned data there, instead of having random holes
(to fulfill the demanded alignment) in the final image.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
jnz 0b
1: jmp 1b
+ .data
+ ALIGN
ENTRY(stack_start)
.long cpu0_stack
.long sym_phys(idle_pg_table_l2) + 2*PAGE_SIZE + 0x01, 0
.long sym_phys(idle_pg_table_l2) + 3*PAGE_SIZE + 0x01, 0
+ .section .data.page_aligned, "aw", @progbits
.align PAGE_SIZE, 0
/* NB. Rings != 0 get access up to MACH2PHYS_VIRT_END. This allows access to */
/* the machine->physical mapping table. Ring 0 can access all memory. */
/*** DESCRIPTOR TABLES ***/
- .align 8, 0xCC
+ .data
+ .align 8
multiboot_ptr:
.long 0
ENTRY(stack_start)
.quad cpu0_stack
+ .section .data.page_aligned, "aw", @progbits
.align PAGE_SIZE, 0
ENTRY(boot_cpu_gdt_table)
.quad 0x0000000000000000 /* unused */
call *%eax
ud2
+ .data
+ .align 4
compat_page_list:
.fill 12,4,0
.long SYM_PHYS(compat_pg_table_l2) + 2*PAGE_SIZE + 0x01, 0
.long SYM_PHYS(compat_pg_table_l2) + 3*PAGE_SIZE + 0x01, 0
- .align 4096,0
-
+ .section .data.page_aligned, "aw", @progbits
+ .align PAGE_SIZE,0
compat_pg_table_l2:
.macro identmap from=0, count=512
.if \count-1
} :text
.data : { /* Data */
+ . = ALIGN(PAGE_SIZE);
+ *(.data.page_aligned)
*(.data)
CONSTRUCTORS
} :text