On 11/20/2017 12:22 PM, Thomas Gleixner wrote:
> On Fri, 10 Nov 2017, Dave Hansen wrote:
>>      __set_fixmap(get_cpu_gdt_ro_index(cpu), get_cpu_gdt_paddr(cpu), prot);
>> +
>> +    /* CPU 0's mapping is done in kaiser_init() */
>> +    if (cpu) {
>> +            int ret;
>> +
>> +            ret = kaiser_add_mapping((unsigned long) get_cpu_gdt_ro(cpu),
>> +                                     PAGE_SIZE, __PAGE_KERNEL_RO);
>> +            /*
>> +             * We do not have a good way to fail CPU bringup.
>> +             * Just WARN about it and hope we boot far enough
>> +             * to get a good log out.
>> +             */
> 
> The GDT fixmap can be set up before the CPU is started. There is no reason
> to do that in cpu_init().

Do you mean the __set_fixmap(), or my call to kaiser_add_mapping()?

Where would you suggest we move it?  Here seems kinda nice because it's
right next to where the get_cpu_gdt_ro() mapping is created.

Reply via email to