6 /* 这里是我们的高半核初始化代码段和数据段 */
7 .boot.text BLOCK(4K) : {
12 .boot.bss BLOCK(4K) : {
16 .boot.data BLOCK(4K) : {
20 .boot.rodata BLOCK(4K) : {
24 .boot.bss BLOCK(4K) : {
27 __kexec_boot_end = ALIGN(4K);
29 /* ---- boot end ---- */
31 /* ---- kernel start ---- */
36 .text BLOCK(4K) : AT ( ADDR(.text) - 0xC0000000 ) {
38 PROVIDE(__kexec_text_start = .);
42 PROVIDE(__kexec_text_end = .);
45 .data BLOCK(4K) : AT ( ADDR(.data) - 0xC0000000 ) {
49 .rodata BLOCK(4K) : AT ( ADDR(.rodata) - 0xC0000000 ) {
53 .kpg BLOCK(4K) : AT ( ADDR(.kpg) - 0xC0000000 ) {
59 /* for generated array, we align to address line size */
61 .lga BLOCK(4K) : AT ( ADDR(.lga) - 0xC0000000 ) {
62 PROVIDE(__lga_twiplugin_inits_start = .);
64 KEEP(*(.lga.twiplugin_inits));
66 PROVIDE(__lga_twiplugin_inits_end = .);
70 /* align to 8 bytes, so it can cover both 32 and 64 bits address line*/
73 PROVIDE(__lga_devdefs_start = .);
75 KEEP(*(.lga.devdefs));
77 PROVIDE(__lga_devdefs_end = .);
83 PROVIDE(__lga_dev_ld_early_start = .);
85 KEEP(*(.lga.devdefs.ld_early));
87 PROVIDE(__lga_dev_ld_early_end = .);
93 PROVIDE(__lga_dev_ld_aftertimer_start = .);
95 KEEP(*(.lga.devdefs.ld_aftertimer));
97 PROVIDE(__lga_dev_ld_aftertimer_end = .);
103 PROVIDE(__lga_dev_ld_post_start = .);
105 KEEP(*(.lga.devdefs.ld_post));
107 PROVIDE(__lga_dev_ld_post_end = .);
113 PROVIDE(__lga_fs_start = .);
117 PROVIDE(__lga_fs_end = .);
121 .bss BLOCK(4K) : AT ( ADDR(.bss) - 0xC0000000 ) {
125 __kexec_end = ALIGN(4K);