21 /*
 22  * Must be called after early_fixmap_init
 23  */
 24 void __init early_ioremap_init(void)
 25 {
 26         early_ioremap_setup();
 27 }

 

 71 void __init early_ioremap_setup(void)
 72 {
 73         int i;
 74
 75         for (i = 0; i < FIX_BTMAPS_SLOTS; i++)
 76                 if (WARN_ON(prev_map[i]))
 77                         break;
 78
 79         for (i = 0; i < FIX_BTMAPS_SLOTS; i++)
 80                 slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i);
 81 }

 

위 그림의 BTMAPS 영역을 slot_virt[]에 할당

'linux' 카테고리의 다른 글

6.1/setup_arch(char **cmdline_p)  (0) 2024.04.02
6.1/fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)  (0) 2023.12.19
6.1/early_fixmap_init(void)  (0) 2023.12.18
6.1/early_fdt_map(u64 dt_phys)  (0) 2023.12.18
6.1/Head.S  (0) 2023.11.16

+ Recent posts