• Jiri Slaby's avatar
    x86/asm/head: Annotate data appropriately · b1bd27b9
    Jiri Slaby authored
    Use the new SYM_DATA, SYM_DATA_START, and SYM_DATA_END in both 32 and 64
    bit head_*.S. In the 64-bit version, define also
    SYM_DATA_START_PAGE_ALIGNED locally using the new SYM_START. It is used
    in the code instead of NEXT_PAGE() which was defined in this file and
    had been using the obsolete macro GLOBAL().
    
    Now, the data in the 64-bit object file look sane:
      Value   Size Type    Bind   Vis      Ndx Name
        0000  4096 OBJECT  GLOBAL DEFAULT   15 init_level4_pgt
        1000  4096 OBJECT  GLOBAL DEFAULT   15 level3_kernel_pgt
        2000  2048 OBJECT  GLOBAL DEFAULT   15 level2_kernel_pgt
        3000  4096 OBJECT  GLOBAL DEFAULT   15 level2_fixmap_pgt
        4000  4096 OBJECT  GLOBAL DEFAULT   15 level1_fixmap_pgt
        5000     2 OBJECT  GLOBAL DEFAULT   15 early_gdt_descr
        5002     8 OBJECT  LOCAL  DEFAULT   15 early_gdt_descr_base
        500a     8 OBJECT  GLOBAL DEFAULT   15 phys_base
        0000     8 OBJECT  GLOBAL DEFAULT   17 initial_code
        0008     8 OBJECT  GLOBAL DEFAULT   17 initial_gs
        0010     8 OBJECT  GLOBAL DEFAULT   17 initial_stack
        0000     4 OBJECT  GLOBAL DEFAULT   19 early_recursion_flag
        1000  4096 OBJECT  GLOBAL DEFAULT   19 early_level4_pgt
        2000 0x40000 OBJECT  GLOBAL DEFAULT   19 early_dynamic_pgts
        0000  4096 OBJECT  GLOBAL DEFAULT   22 empty_zero_page
    
    All have correct size and type now.
    
    Note that this also removes implicit 16B alignment previously inserted
    by ENTRY:
    
    * initial_code, setup_once_ref, initial_page_table, initial_stack,
      boot_gdt are still aligned
    * early_gdt_descr is now properly aligned as was intended before ENTRY
      was added there long time ago
    * phys_base's alignment is kept by an explicitly added new alignment
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Cao jin <caoj.fnst@cn.fujitsu.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: linux-arch@vger.kernel.org
    Cc: Maran Wilson <maran.wilson@oracle.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: x86-ml <x86@kernel.org>
    Link: https://lkml.kernel.org/r/20191011115108.12392-12-jslaby@suse.cz
    b1bd27b9
head_64.S 13.5 KB