Jessica, I really thank you so much！
I suddenly remembered,about a few weeks ago , I have removed the SetTime/GetTime function in the uboot, but the uboot can still boot the os, and no errors have occurred 。Did I find the wrong code?
I was trying to destroy the uboot to verify the problem points .
U-Boot is presumably not buggy in the first place since nobody is reporting issues with it, and removing the functions will just make the OS not use them, as they’re not essential.
When os calls SetVirtualAddressMap, VirtualMap is passed in as a parameter , and the VirtualMap-> VirtualStart start at 0x20000000 (DEBUG message Show is 0x20000000).
I confirmed that the VirtualMap-> VirtualStart in edk2 starts with 0. So, the 0x20000000 should be assigned by the OS.
So, "Unable to handle kernel paging request at virtual address 000000000200bff8 "，0x200bff8 is outside of 0x20000000. Is this an os problem, right?
Most likely. At the bottom of every Linux kernel oops record there’s a stack trace, which you have omitted from yours in the initial message, that will identify the likely culprit. Using this information and having your kernel sources and a corresponding
vmlinux binary at hand you should be able to narrow this down further with the usual tools, such as
objdump or GDB. First you need to check what code there is at
How do I check the code in the epc and what tools do I need?
I decided to give up boot ubuntu via UEFI-edk2. I am not very well able to solve this problem by myself.
But there’s the good news . I have already boot the linux kernel with UEFI-edk2!
Thank you very much for all your help
No. The firmware came up with that address. It should not have. As I have kept stating, it is 100% a bug in the firmware you have and nothing else.
I also think it’s a bug for the firmware. but my ability is lacking. I really don’t know how to debug, I think I might need the help of os developers .