bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 64bit startup


From: Luca
Subject: Re: 64bit startup
Date: Fri, 26 May 2023 12:55:32 +0200

Il 26/05/23 11:46, Luca ha scritto:
Hi

Il 26/05/23 03:31, Samuel Thibault ha scritto:
GNU Mach 1.8
ELF section header table at ffffffff80010290
biosmem: physical memory map:
biosmem: 000000000000000000:00000000000009f000, available
biosmem: 00000000000009fc00:0000000000000a0000, reserved
biosmem: 0000000000000f0000:000000000000100000, reserved
biosmem: 000000000000100000:0000000000dddde000, available
biosmem: 0000000000dddde000:0000000000dde00000, reserved
biosmem: 0000000000feffc000:0000000000ff000000, reserved
biosmem: 0000000000fffc0000:000000000100000000, reserved
vm_page: page table size: 908750 entries (85196k)
vm_page: DMA: pages: 4080 (15M), free: 0 (0M)
vm_page: DMA: min:500 low:600 high:1000
vm_page: DMA32: pages: 61440 (240M), free: 61207 (239M)
vm_page: DMA32: min:3072 low:3686 high:6144
vm_page: DIRECTMAP: pages: 327680 (1280M), free: 297135 (1160M)
vm_page: DIRECTMAP: min:16384 low:19660 high:32768
vm_page: HIGHMEM: pages: 515550 (2013M), free: 0 (0M)
vm_page: HIGHMEM: min:25777 low:30933 high:51555
com 2 out of range
RTC time is 2023-05-26 01:25:34
module 0: ext2fs --readonly --host-priv-port=${host-port} --device-master-port=${device-port} --multiboot-command-line=${kernel-command-line} --exec-server-task=${exec-task} -T typed ${root} $(fs-task=task-create) $(task-resume)
module 1: exec /hurd/exec $(exec-task=task-create)
2 multiboot modules
Kernel Double fault trap, eip 0x0
kernel: Double fault (8), code=0
Stopped    at  0:
no memory is assigned to address 00000000

no memory is assigned to address 00000001
addb    %al,0(%eax)
0x0(
no memory is assigned to address 00000000
...)
0xffffffff8107a712(0,8101d463,400ee0,ffffffff8101d49c,0)
0xffffffff8106ff27(ffffffffde739868,ffffffff8101d463,ffffffffde736fb8,0,ffffffff
8104ceec)
user space <<<<<

I can reproduce it by using also your gnumach. Setting a breakpoint in read_exec() it seems that there is something wrong with the elf parsing, as the size parameters look like kernel addresses:

(gdb) p/x file_size
$1 = 0xffffffff8106f4d3
(gdb) bt
#0 read_exec (handle=0xffffffffbd8f0f20, file_ofs=0, file_size=18446744071579301075, mem_addr=18446744072594853080, mem_size=18446744072594853104, sec_type=0) at ../kern/bootstrap.c:484 #1 0xffffffff8107a712 in exec_load (read=0xffffffff8106f45c <boot_read>, read_exec=0xffffffff8106f4e5 <read_exec>, handle=0xffffffffbd8faea0, out_info=0xffffffffbd8f0f70)
    at ../kern/elf-load.c:87
#2  0xffffffff8106ff27 in user_bootstrap () at ../kern/bootstrap.c:829
#3  0x0000000000000000 in ?? ()
(gdb) p/x mem_addr
$2 = 0xffffffffbd8f0cd8
(gdb) p/x mem_size
$3 = 0xffffffffbd8f0cf0



Luca




reply via email to

[Prev in Thread] Current Thread [Next in Thread]