Hi,
On 13/01/2024 12:28, Michele Pescapè wrote:
Hi,
You are right, I got confused about those addresses, my bad. At least
now I know that config is the correct one and I don't have to tinker
with it.
I'm back to a kernel panic from the inmate when booting the cell. It's
similar to the one I had earlier, not sure yet of what the problem may be.
Great, we're a step further.
Created cell "linux-2"
Page pool usage after cell creation: mem 406/32211, remap 16392/131072
Cell "linux-2" can be loaded
CPU 9 received SIPI, vector 100
Started cell "linux-2"
CPU 8 received SIPI, vector 100
No EFI environment detected.
early console in extract_kernel
input_data: 0x000000000275c308
input_len: 0x00000000008b0981
output: 0x0000000001000000
output_len: 0x0000000001fccb30
kernel_total_size: 0x0000000001e28000
needed_size: 0x0000000002000000
trampoline_32bit: 0x000000000009d000
Decompressing Linux... Parsing ELF... done.
Booting the kernel.
[ 0.000000] Linux version 6.2.0-rc3 (root@mp-LINUX-DESKTOP)
(x86_64-buildroot -linux-gnu-gcc.br_real (Buildroot 2023.11)
12.3.0, GNU ld (GNU Binutils) 2.40) # 2 SMP PREEMPT_DYNAMIC Fri
Jan 12 17:36:57 CET 2024
[ 0.000000] Command line: earlyprintk=ttyS0,115200
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating
point regi sters'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832
bytes, using 'compacted' format.
[ 0.000000] signal: max sigframe size: 1360
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e801: [mem 0x0000000000000000-0x000000000009efff] usable
Okay, here should be all memory regions listed. My non-root Linux in my
Qemu VM, for example, shows here:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x00000000000fffff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000000100fff]
reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000200000-0x00000000048fffff] usable
Are you absolutely sure, that you have no further modifications in
Jailhouse or the Linux loader?
Actually, in your case, there should be e820 as well (instead of e801).
Go to the Linux kernel sources, have a look at arch/x86/kernel/e820.c:1279
and Jailhouse's jailhouse-cell-linux:638.
jailhouse-cell-linux fills information of all memory regions into the
zero page. Would you please instrument code (Linux/Jailhouse) to see
where those regions are not parsed?
[ 0.000000] printk: bootconsole [earlyser0] enabled
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] extended physical RAM map:
[ 0.000000] reserve setup_data: [mem
0x0000000000000000-0x0000000000001fff] u sable
[ 0.000000] reserve setup_data: [mem
0x0000000000002000-0x000000000000212b] u sable
[ 0.000000] reserve setup_data: [mem
0x000000000000212c-0x000000000009efff] u sable
[ 0.000000] DMI not present or invalid.
[ 0.000000] Hypervisor detected: Jailhouse
Just guessing loud: Hmm, you have guest support enabled, that's not the
issue.
[ 0.000000] tsc: Detected 3393.624 MHz processor
[ 0.000017] .text .data .bss are not marked as E820_TYPE_RAM!
Here's the next error that makes me curious, why you system falls back
to E801...
[ 0.005745] last_pfn = 0x2e28 max_arch_pfn = 0x400000000
[ 0.011025] x86/PAT: PAT support disabled because CONFIG_X86_PAT is
disabled in the kernel.
Please enable CONFIG_X86_PAT and MTRR in your kernel.
[ 0.019362] x86/PAT: Configuration [0-7]: WB WT UC- UC WB WT UC- UC
[ 0.034867] Using GB pages for direct mapping
[ 0.039193] Kernel panic - not syncing: alloc_low_pages: can not
alloc memory
Yeah, that's the logical aftereffect after the errors above.
Thanks,
Ralf
[ 0.046183] CPU: 0 PID: 0 Comm: swapper Not tainted 6.2.0-rc3 #2
[ 0.052176] Call Trace:
[ 0.054606] <TASK>
[ 0.056691] ? dump_stack_lvl+0x33/0x4e
[ 0.060510] ? panic+0x157/0x303
[ 0.063723] ? sprintf+0x56/0x80
[ 0.066936] ? alloc_low_pages+0x70/0x1a0
[ 0.070930] ? phys_pmd_init+0x1fc/0x2eb
[ 0.074839] ? phys_pud_init+0x116/0x2d3
[ 0.078744] ? __kernel_physical_mapping_init+0x11a/0x290
[ 0.084128] ? init_memory_mapping+0x25e/0x3b0
[ 0.088558] ? init_range_memory_mapping+0xe7/0x145
[ 0.093417] ? init_mem_mapping+0x242/0x298
[ 0.097585] ? setup_arch+0x74e/0xcbd
[ 0.101231] ? start_kernel+0x66/0x8b7
[ 0.104965] ? load_ucode_bsp+0x43/0x11b
[ 0.108873] ? secondary_startup_64_no_verify+0xe0/0xeb
[ 0.114085] </TASK>
[ 0.116255] ---[ end Kernel panic - not syncing: alloc_low_pages: can
not all oc memory ]---
Thank you for your continuous support,
Michele
Il giorno sabato 13 gennaio 2024 alle 00:05:43 UTC+1 Ralf Ramsauer ha
scritto:
Hi Michele,
On 12/01/2024 14:07, Michele Pescapè wrote:
> jailhouse cell load linux-2 linux-loader.bin -a 0x0
> ../buildroot-2023.11/output/images/bzImage -a 0xffbe00 parameters
-a 0x1000
> jailhouse cell start linux-2
>
> I take it the kernel is loaded at 0xffbe00 which is right at the
edge of
> the low ram region. In fact after issuing the cell load command and
> adjusting the path for the loader I get JAILHOUSE_CELL_LOAD: Invalid
> argument.
Just tested cell-linux in a qemu machine, there it works, with pretty
similar addresses, which got me confused.
After double-checking it: 0xffb.e00 is *not* at the edge of low mem:
Low mem is 0x000.000 -- 0x0ff.fff
Comm region is 0x100.000 -- 0x100.fff
0xffb.e00 is (obviously) way above.
Please try to set your high mem's .virt_start to 0x200000. Then,
0xffbe00 is offsetted ~16MB inside your highmem, and it should work!
IOW:
/* high RAM */
{
.phys_start = 0x42300000,
.virt_start = 0x200000,
.size = 0x11000000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE |
JAILHOUSE_MEM_LOADABLE,
},
Thanks
Ralf
--
You received this message because you are subscribed to the Google
Groups "Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/6712361a-eaef-49cc-8a72-79da2c434169n%40googlegroups.com <https://groups.google.com/d/msgid/jailhouse-dev/6712361a-eaef-49cc-8a72-79da2c434169n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/b4520b71-86ba-48e7-b9ad-c720c4f6cb42%40oth-regensburg.de.