Hi,

I'm experimenting with the TuD Snapshot release 2020.07.1 and can compile and run Fiasco, L4re and L4Linux in their basic configurations (amd64 architecture) using the default l4lx.cfg file of the distribution.

As this is not all that useful, I was looking in getting the system use the available hardware. Based on snippets I found on the internet and the example config files, I created the following cfg and devs files, but now L4Linux immediately runs into an unhandled exception (full boot log at the end of this eMail).

Was wondering if someone from the mailing list can share a set of config files which would allow to get L4Linux up and using at least some of the basic hardware like network and disks on a typical PC board. In my current experiments I'm using the following config files (see below).

Any help or pointers are appreciated!

Andreas


File x86-legacy.devs is unchanged from ~l4/pkg/io/io/config.

=============l4lx.cfg==================

local L4 = require("L4");

loader = L4.default_loader;

vbus_l4linux = loader:new_channel();
vbus_input   = loader:new_channel();

loader:start(
        {
                caps = {
                        sigma0  = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0);
                        icu             = L4.Env.icu;
                        l4linux = vbus_l4linux:svr();
                },
                log = {"IO", "y"},
                l4re_dbg = L4.Dbg.Warn,
        }, "rom/io rom/x86-legacy.devs rom/l4lx-x86.io");

loader:start(
        {
                caps = {
                vbus = vbus_l4linux;
                },
                log = L4.Env.log:m("rws"),
        }, "rom/vmlinuz mem=1024M console=ttyLv0 earlyprintk=1 l4x_rd=rom/ramdisk-amd64.rd root=1:0 ramdisk_size=4000");
====================================


=============l4lx-x86.io==================

local hw = Io.system_bus()

Io.add_vbusses
{
  input = Io.Vi.System_bus
  {
    ps2dev = wrap(hw:match("PNP0[3F]??"));
  };

  fbdrv = Io.Vi.System_bus
  {
    PCI0 = Io.Vi.PCI_bus_ident
    {
      dummy = Io.Vi.PCI_dummy_device();
      pci_gfx = wrap(hw:match("PCI/display"));
    };

    x1 = wrap(hw:match("BIOS"));
    x2 = wrap(hw:match("PNP0900"));
    x3 = wrap(hw:match("PNP0100"));
  };

  l4linux = Io.Vi.System_bus
  {
    -- Add a new virtual PCI root bridge
    PCI0 = Io.Vi.PCI_bus
    {
      pci_l4x = wrap(hw:match("PCI/network", "PCI/storage", "PCI/media"));
    };
  };
}
==========================================


GRUB Loading /bootstrap /bootstrap -modaddr 0x01100000
Loading /fiasco fiasco -serial_esc
Loading /sigma0 sigma0
Loading /moe moe rom/l4lx.cfg
goading /l4lx.cfg l4lx.cfg
Loading /l4re l4re
Loading /io io
Loading /ned ned
Loading /x86-legacy.devs x86-legacy.devs
Loading /l4lx-x86.io l4lx-x86.io
Loading /vmlinuz vmlinuz
Loading /ramdisk-amd64.rd ramdisk-amd64.rd
Done, booting...
error: Can't get controller info.
L4 Bootstrapper
  Build: #1 Mon Aug 17 10:28:54 PDT 2020, x86-64, 7.5.0
  RAM: 0000000000000000 - 000000000009fbff: 639kB
  RAM: 0000000000100000 - 00000000cfe87fff: 3405344kB
  RAM: 0000000100000000 - 000000012effffff: 770048kB
  Total RAM: 4078MB
  Scanning fiasco -serial_esc
  Scanning sigma0
  Scanning moe rom/l4lx.cfg
  need 456 bytes to copy MBI
  reserved 456 bytes at 0x2000
  Moving up to 11 modules behind 1100000
  moving module 10 { 2443000-2742fff } -> { 260c000-290bfff } [3145728]
  moving module 09 { 1521000-2442faf } -> { 16ea000-260bfaf } [15867824]
  moving module 05 { 124a000-1520ea7 } -> { 1413000-16e9ea7 } [2977448]
  moving module 00 { 1021000-124954f } -> { 11ea000-141254f } [2262352]
  moving module 08 { 1ea000-1ea25e } -> { 11e9000-11e925e } [607]
  moving module 07 { 1e9000-1e9337 } -> { 11e8000-11e8337 } [824]
  moving module 06 { 170000-1e89ef } -> { 116f000-11e79ef } [494064]
  moving module 04 { 152000-16f72f } -> { 1151000-116e72f } [120624]
  moving module 03 { 151000-15133d } -> { 1150000-115033d } [830]
  moving module 02 { 10e000-15075f } -> { 110d000-114f75f } [272224]
  moving module 01 { 101000-10d48f } -> { 1100000-110c48f } [50320]
  Loading fiasco
  Loading sigma0
  Loading moe
  find kernel info page...
  found kernel info page (via ELF) at 400000
Regions of list 'regions'
    [        0,       fff] {     1000} Arch   BIOS
    [     1000,      1fff] {     1000} Kern   fiasco
    [     2000,      21c7] {      1c8} Root   mbi_rt
    [    9fc00,     9ffff] {      400} Arch   BIOS
    [    f0000,     fffff] {    10000} Arch   BIOS
    [   100000,    1122ff] {    12300} Sigma0 sigma0
    [   140000,    17fb0b] {    3fb0c} Root   moe
    [   181030,    192f67] {    11f38} Root   moe
    [   2d0400,    2e10d7] {    10cd8} Boot   bootstrap
    [   300000,    34afff] {    4b000} Kern   fiasco
    [   400000,    4010ab] {     10ac} Kern   fiasco
    [   600000,    83bfff] {   23c000} Kern   fiasco
    [  1019000,   101efff] {     6000} Boot bootstrap-ptab64
    [  1150000,   11e9fff] {    9a000} Root   Module
    [  1413000,   290bfff] {  14f9000} Root   Module
    [ cfe88000,  cfffffff] {   178000} Arch   BIOS
    [ f8000000,  fbffffff] {  4000000} Arch   BIOS
    [ fed40000,  fed44fff] {     5000} Arch   BIOS
  found kernel options (via ELF) at 401000
  Sigma0 config    ip:00000000001004a0 sp:0000000000000000
  Roottask config  ip:00000000001418dd sp:0000000000000000
  Starting kernel fiasco at 0000000000300910

Welcome to L4/Fiasco.OC!
L4/Fiasco.OC microkernel on amd64
Rev: unknown compiled with gcc 7.5.0 for x86-64    []
Build: #2 Mon Aug 17 16:30:24 PDT 2020

Performance-critical config option(s) detected:
  CONFIG_NDEBUG is off

Superpages: yes
ACPI: RSDP[0xf3af0]     r02 OEM:COREv4
FPU0: SSE AVX
ACPI: FACS phys=cfe9d240 virt=0x2009d240
ACPI: HW sig=0
SERIAL ESC: allocated IRQ 4 for serial uart
Enable MSI support: chained IRQ mgr @ 0xffffffff10156d20
SERIAL ESC: allocated IRQ 4 for serial uart
Not using serial hack in slow timer handler.
CPU[0]: AuthenticAMD (16:30:1:0)[00730f01] Model: AMD GX-412TC SOC                                at 998MHz

  32/512 Entry I TLB (4K pages)      8 Entry I TLB (4M pages)
  40/512 Entry D TLB (4K pages)      8/256 Entry D TLB (4M pages)
  32 KB L1 I Cache (2-way associative, 64 bytes per line)
  32 KB L1 D Cache (8-way associative, 64 bytes per line)
2048 KB L2 U Cache (8-way associative, 64 bytes per line)

Freeing init code/data: 4096 bytes (1 pages)

SVM: enabled
SVM: nested paging supported
SVM: NASID: 8.
MP: detecting APs...
Calibrating timer loop... SVM: enabled
SVM: enabled
SVM: enabled
done.
SVM: nested paging supported
SVM: nested paging supported
MDB: use page size: 30
SVM: NASID: 8.
SVM: nested paging supported
SVM: NASID: 8.
SVM: NASID: 8.
MDB: use page size: 21
MDB: use page size: 12
SIGMA0: Hello!
  KIP @ 400000
  allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:RWX:2000;2fff]
[0:RWX:3000;9efff]
[0:RWX:113000;13ffff]
[4:R-X:140000;17ffff]
[0:RWX:180000;180fff]
[4:RW-:181000;192fff]
[0:RWX:193000;3fffff]
[0:RWX:402000;5fffff]
[0:RWX:83c000;114ffff]
[4:RWX:1150000;11e9fff]
[0:RWX:11ea000;1412fff]
[4:RWX:1413000;290bfff]
[0:RWX:290c000;cfe87fff]
[0:RWX:100000000;11fb4efff]
IOMEM:----------------------
[0:RW-:0;fff]
[0:RW-:9f000;fffff]
[0:RW-:cfe88000;febfffff]
[0:RW-:fec01000;fec1ffff]
[0:RWX:fec21000;fedfffff]
[0:RWX:fee01000;ffffffff]
[0:RWX:12f000000;ffffffffffffffff]
IO PORTS--------------------------
[0:RW-:0;fffffff]
MOE: Hello world
MOE: found 3900664 KByte free memory
MOE: found RAM from 2000 to 11fb4f000
MOE: allocated 4603 KByte for the page array @0x83c000
MOE: virtual user address space [0-7fffffffffff]
MOE: rom name space cap -> [C:103000]
MOE: rwfs name space cap -> [C:105000]
  BOOTFS: [1150000-115033e] [C:107000] l4lx.cfg
  BOOTFS: [1151000-116e730] [C:109000] l4re
  BOOTFS: [1413000-16e9ea8] [C:10b000] io
  BOOTFS: [116f000-11e79f0] [C:10d000] ned
  BOOTFS: [11e8000-11e8338] [C:10f000] x86-legacy.devs
  BOOTFS: [11e9000-11e925f] [C:111000] l4lx-x86.io
  BOOTFS: [16ea000-260bfb0] [C:113000] vmlinuz
  BOOTFS: [260c000-290c000] [C:115000] ramdisk-amd64.rd
MOE: cmdline: moe rom/l4lx.cfg
MOE: Starting: rom/ned rom/l4lx.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/l4lx.cfg'
IO      | Io service
IO      | Find root Pointer
IO      | Found root Pointer: f3af0
IO      | ACPI: RSDP 0x00000000000F3AF0 000024 (v02 COREv4)
IO      | ACPI: XSDT 0x00000000CFE9D0E0 00007C (v01 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: FACP 0x00000000CFE9EE40 000114 (v06 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: DSDT 0x00000000CFE9D280 001BB3 (v02 COREv4 COREBOOT 00010001 INTL 20180531)
IO      | ACPI: FACS 0x00000000CFE9D240 000040
IO      | ACPI: SSDT 0x00000000CFE9EF60 0001F8 (v02 COREv4 COREBOOT 0000002A CORE 20180531) IO      | ACPI: MCFG 0x00000000CFE9F160 00003C (v01 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: TPM2 0x00000000CFE9F1A0 00004C (v04 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: APIC 0x00000000CFE9F1F0 00007E (v03 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: HEST 0x00000000CFE9F270 0001D0 (v01 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: IVRS 0x00000000CFE9F440 0000E0 (v01 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: SSDT 0x00000000CFE9F520 0048A6 (v02 AMD    AGESA    00000002 MSFT 04000000) IO      | ACPI: SSDT 0x00000000CFEA3DD0 0007C8 (v01 AMD    AGESA    00000001 AMD  00000001) IO      | ACPI: DRTM 0x00000000CFEA45A0 00007C (v01 COREv4 COREBOOT 00000000 CORE 20180531) IO      | ACPI: HPET 0x00000000CFEA4620 000038 (v01 COREv4 COREBOOT 00000000 CORE 20180531)
IO      |
IO      | ACPI table initialization:
IO      | Table [DSDT: COREBOOT] (id 01) -  379 Objects with  45 Devices,  15 Regions,   80 Methods (20/60/19 Serial/Non/Cvt) IO      | Table [SSDT: COREBOOT] (id 02) -   14 Objects with   2 Devices,   0 Regions,    3 Methods (1/2/0 Serial/Non/Cvt) IO      | Table [SSDT: AGESA   ] (id 03) -  411 Objects with   6 Devices,  18 Regions,  143 Methods (25/118/14 Serial/Non/Cvt) IO      | Table [SSDT: AGESA   ] (id 04) -   28 Objects with   0 Devices,   0 Regions,    4 Methods (0/4/0 Serial/Non/Cvt)
IO      | ACPI: 4 ACPI AML tables successfully acquired and loaded
IO      | Final data object initialization: Namespace contains 841 (0x349) objects IO      |  evxfevnt-0204 Enable                : System is already in ACPI mode
IO      | Initializing General Purpose Events (GPEs):
IO      |     Initialized GPE 00 to 1F [_GPE] 4 regs on interrupt 0x9 (SCI)
IO      | Initializing Device/Processor/Thermal objects and executing _INI/_STA methods: IO      |     Executed 7 _INI methods requiring 1 _STA executions (examined 64 objects)
IO      | ACPICA-Version:20190816, System in ACPI MODE, 24bit timer
IO      | ACPI: Enabled 7 GPEs in block 00 to 1F
IO      | Ready. Waiting for request.
PH  0 offs=0000000000200000 flags=r-x PH-type=0x1
      virt=0000000000200000 evirt=0000000000b08f78
      phys=0000000000200000 ephys=0000000000b08f78
      f_sz=0000000000908f78 memsz=0000000000908f78
PH  1 offs=0000000000c00000 flags=rw- PH-type=0x1
      virt=0000000000c00000 evirt=0000000000e15000
      phys=0000000000c00000 ephys=0000000000e15000
      f_sz=0000000000215000 memsz=0000000000215000
PH  2 offs=0000000000e15000 flags=rwx PH-type=0x1
      virt=0000000000e15000 evirt=0000000001016000
      phys=0000000000e15000 ephys=0000000001016000
      f_sz=0000000000081000 memsz=0000000000201000
PH  3 offs=0000000000b08f3c flags=--- PH-type=0x4
      virt=0000000000b08f3c evirt=0000000000b08f78
      phys=0000000000b08f3c ephys=0000000000b08f78
      f_sz=000000000000003c memsz=000000000000003c
Starting binary at 0x200000, argc=7 argv=0xafff5f18 *argv=0x7100fff4 argv0=rom/vmlinuz
External resolver is at 0x68000d30
======> L4Linux starting... <========
Linux version 5.7.0-l4 (andreas@deepl) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04), GNU ld (GNU Binutils for Ubuntu) 2.30) #3 Mon Aug0
Binary name: rom/vmlinuz
Linux kernel command line (6 args): mem=1024M console=ttyLv0 earlyprintk=1 l4x_rd=rom/ramdisk-amd64.rd root=1:0 ramdisk_size=4000
CPU mapping (l:p)[1]: 0:0
Image: 00200000 - 01016000 [14424 KiB].
Areas: Text:     00200000 - 008006f1 [6145kB]
---------------------------------------------------------------------
    CPU 0 [fffffffff021e0ba]: IRQ ENTRY
    CPU(s) 0-3 entered JDB
jdb: z
       RO-Data:  00a00000 - 00b09000 [1060kB]
       Data:     00c00000 - 00c95b80 [598kB]
       Init:     00e15000 - 00e95000 [512kB]
       BSS:      00e98000 - 01000000 [1440kB]
Device scan:
  Device: L4ICU
  Device: PCI0
  Device: pci_l4x[1]
L4Re: rom/vmlinuz: Unhandled exception: PC=0x68008698 PFA=0x0 LdrFlgs=0x0


_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

Reply via email to