@@ -143,6 +143,13 @@ struct boot_params boot_params;
143
143
/*
144
144
* Machine setup..
145
145
*/
146
+ static struct resource rodata_resource = {
147
+ .name = "Kernel rodata" ,
148
+ .start = 0 ,
149
+ .end = 0 ,
150
+ .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM
151
+ };
152
+
146
153
static struct resource data_resource = {
147
154
.name = "Kernel data" ,
148
155
.start = 0 ,
@@ -951,7 +958,9 @@ void __init setup_arch(char **cmdline_p)
951
958
952
959
code_resource .start = __pa_symbol (_text );
953
960
code_resource .end = __pa_symbol (_etext )- 1 ;
954
- data_resource .start = __pa_symbol (_etext );
961
+ rodata_resource .start = __pa_symbol (__start_rodata );
962
+ rodata_resource .end = __pa_symbol (__end_rodata )- 1 ;
963
+ data_resource .start = __pa_symbol (_sdata );
955
964
data_resource .end = __pa_symbol (_edata )- 1 ;
956
965
bss_resource .start = __pa_symbol (__bss_start );
957
966
bss_resource .end = __pa_symbol (__bss_stop )- 1 ;
@@ -1040,6 +1049,7 @@ void __init setup_arch(char **cmdline_p)
1040
1049
1041
1050
/* after parse_early_param, so could debug it */
1042
1051
insert_resource (& iomem_resource , & code_resource );
1052
+ insert_resource (& iomem_resource , & rodata_resource );
1043
1053
insert_resource (& iomem_resource , & data_resource );
1044
1054
insert_resource (& iomem_resource , & bss_resource );
1045
1055
0 commit comments