Add a new "kernel" section with following schema.
"kernel": { "loadAddress"?: decimal | hex string | string decimal # This is optional. If it's not specified, use default address 0xffffffff81000000. "file": string # path to the kernel image }
Here's more details of the diff:
- If "kernel" section exist, it means current tracing mode is KernelMode.
- If tracing mode is KernelMode, the "processes" section must be empty and the "kernel" and "cpus" section must be provided. This is tested with TestTraceLoad.
- "kernel" section is parsed and turned into a new process with a single module which is the kernel image. The kernel process has N fake threads, one for each cpu.
enum class