|  | /* SPDX-License-Identifier: GPL-2.0 */ | 
|  | /* | 
|  | * realmode.lds.S | 
|  | * | 
|  | * Linker script for the real-mode code | 
|  | */ | 
|  |  | 
|  | #include <asm/page_types.h> | 
|  |  | 
|  | #undef i386 | 
|  |  | 
|  | OUTPUT_FORMAT("elf32-i386") | 
|  | OUTPUT_ARCH(i386) | 
|  | ENTRY(pa_text_start) | 
|  |  | 
|  | SECTIONS | 
|  | { | 
|  | real_mode_seg = 0; | 
|  |  | 
|  | . = 0; | 
|  | .header : { | 
|  | pa_real_mode_base = .; | 
|  | *(.header) | 
|  | } | 
|  |  | 
|  | . = ALIGN(4); | 
|  | .rodata : { | 
|  | *(.rodata) | 
|  | *(.rodata.*) | 
|  | . = ALIGN(16); | 
|  | video_cards = .; | 
|  | *(.videocards) | 
|  | video_cards_end = .; | 
|  | } | 
|  |  | 
|  | . = ALIGN(PAGE_SIZE); | 
|  | pa_text_start = .; | 
|  | .text : { | 
|  | *(.text) | 
|  | *(.text.*) | 
|  | } | 
|  |  | 
|  | .text32 : { | 
|  | *(.text32) | 
|  | *(.text32.*) | 
|  | } | 
|  |  | 
|  | .text64 : { | 
|  | *(.text64) | 
|  | *(.text64.*) | 
|  | } | 
|  | pa_ro_end = .; | 
|  |  | 
|  | . = ALIGN(PAGE_SIZE); | 
|  | .data : { | 
|  | *(.data) | 
|  | *(.data.*) | 
|  | } | 
|  |  | 
|  | . = ALIGN(128); | 
|  | .bss : { | 
|  | *(.bss*) | 
|  | } | 
|  |  | 
|  | /* End signature for integrity checking */ | 
|  | . = ALIGN(4); | 
|  | .signature : { | 
|  | *(.signature) | 
|  | } | 
|  |  | 
|  | /DISCARD/ : { | 
|  | *(.note*) | 
|  | *(.debug*) | 
|  | } | 
|  |  | 
|  | #include "pasyms.h" | 
|  | } |