1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 2b3266bd6SJarkko Sakkinen/* 3b3266bd6SJarkko Sakkinen * realmode.lds.S 4b3266bd6SJarkko Sakkinen * 5b3266bd6SJarkko Sakkinen * Linker script for the real-mode code 6b3266bd6SJarkko Sakkinen */ 7b3266bd6SJarkko Sakkinen 8b3266bd6SJarkko Sakkinen#include <asm/page_types.h> 9b3266bd6SJarkko Sakkinen 10b3266bd6SJarkko Sakkinen#undef i386 11b3266bd6SJarkko Sakkinen 12e6d7bc0bSBorislav PetkovOUTPUT_FORMAT("elf32-i386") 13b3266bd6SJarkko SakkinenOUTPUT_ARCH(i386) 14b3266bd6SJarkko Sakkinen 15b3266bd6SJarkko SakkinenSECTIONS 16b3266bd6SJarkko Sakkinen{ 17b3266bd6SJarkko Sakkinen real_mode_seg = 0; 18b3266bd6SJarkko Sakkinen 19b3266bd6SJarkko Sakkinen . = 0; 20b3266bd6SJarkko Sakkinen .header : { 21b3266bd6SJarkko Sakkinen pa_real_mode_base = .; 22b3266bd6SJarkko Sakkinen *(.header) 23b3266bd6SJarkko Sakkinen } 24b3266bd6SJarkko Sakkinen 25b3266bd6SJarkko Sakkinen . = ALIGN(4); 26b3266bd6SJarkko Sakkinen .rodata : { 27b3266bd6SJarkko Sakkinen *(.rodata) 28b3266bd6SJarkko Sakkinen *(.rodata.*) 29c9b77ccbSJarkko Sakkinen . = ALIGN(16); 30c9b77ccbSJarkko Sakkinen video_cards = .; 31c9b77ccbSJarkko Sakkinen *(.videocards) 32c9b77ccbSJarkko Sakkinen video_cards_end = .; 33b3266bd6SJarkko Sakkinen } 34b3266bd6SJarkko Sakkinen 35b3266bd6SJarkko Sakkinen . = ALIGN(PAGE_SIZE); 36b3266bd6SJarkko Sakkinen pa_text_start = .; 37487f50ffSH. Peter Anvin .text : { 38b3266bd6SJarkko Sakkinen *(.text) 39b3266bd6SJarkko Sakkinen *(.text.*) 40b3266bd6SJarkko Sakkinen } 41b3266bd6SJarkko Sakkinen 42b3266bd6SJarkko Sakkinen .text32 : { 43b3266bd6SJarkko Sakkinen *(.text32) 44b3266bd6SJarkko Sakkinen *(.text32.*) 45b3266bd6SJarkko Sakkinen } 46b3266bd6SJarkko Sakkinen 47487f50ffSH. Peter Anvin .text64 : { 48487f50ffSH. Peter Anvin *(.text64) 49487f50ffSH. Peter Anvin *(.text64.*) 50487f50ffSH. Peter Anvin } 51487f50ffSH. Peter Anvin pa_ro_end = .; 52487f50ffSH. Peter Anvin 53b3266bd6SJarkko Sakkinen . = ALIGN(PAGE_SIZE); 54b3266bd6SJarkko Sakkinen .data : { 55b3266bd6SJarkko Sakkinen *(.data) 56b3266bd6SJarkko Sakkinen *(.data.*) 57b3266bd6SJarkko Sakkinen } 58b3266bd6SJarkko Sakkinen 59b3266bd6SJarkko Sakkinen . = ALIGN(128); 60b3266bd6SJarkko Sakkinen .bss : { 61b3266bd6SJarkko Sakkinen *(.bss*) 62b3266bd6SJarkko Sakkinen } 63b3266bd6SJarkko Sakkinen 64b3266bd6SJarkko Sakkinen /* End signature for integrity checking */ 65b3266bd6SJarkko Sakkinen . = ALIGN(4); 66b3266bd6SJarkko Sakkinen .signature : { 67b3266bd6SJarkko Sakkinen *(.signature) 68b3266bd6SJarkko Sakkinen } 69b3266bd6SJarkko Sakkinen 70b3266bd6SJarkko Sakkinen /DISCARD/ : { 71b3266bd6SJarkko Sakkinen *(.note*) 72b3266bd6SJarkko Sakkinen *(.debug*) 73b3266bd6SJarkko Sakkinen *(.eh_frame*) 74b3266bd6SJarkko Sakkinen } 75b3266bd6SJarkko Sakkinen 76b3266bd6SJarkko Sakkinen#include "pasyms.h" 77b3266bd6SJarkko Sakkinen} 78