On 9/1/20 1:35 PM, H. Peter Anvin wrote: > If you are going to fix the language... > > On 2020-08-31 22:25, Cao jin wrote: >> Sorry, I mis-copied 2 addresses. make sure they are CCed. >> >> On 9/1/20 11:41 AM, Cao jin wrote: >>> Typo fix & file name update >>> I did quick search in dict & google, didn't see ident = identity, my omission. >>> Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx> ... >>> @@ -1391,7 +1391,7 @@ In 64-bit boot protocol, the kernel is started by jumping to the >>> >>> At entry, the CPU must be in 64-bit mode with paging enabled. > > (Paging enabled is redundant here.) Yes, 64-bit defaults with paging enabled. Maybe it is a little bit helpful for newbies. > >>> The range with setup_header.init_size from start address of loaded >>> -kernel and zero page and command line buffer get ident mapping; >>> +kernel and zero page and command line buffer get identity mapping; > > The range with setup_header.init_size from start address of the loaded kernel, > the zero page, and the command line buffer get identity-mapped, anda GDT must > be loaded with the descriptors for selectors __BOOT_CS(0x10) and > __BOOT_DS(0x18): both descriptors must be 4G flat segment with __BOOT_CS > having execute/read > permission and __BOOT_DS... > > Also, it might be useful to take a look to see if other data structures, like > setup_data and the initrd also need to be in the identity map. > Thanks for your info. I have indistinct memory that KASLR need them identity mapped. I will take a look. -- Sincerely, Cao jin