[coreboot] Supermicro X11SSH-LN4F PCI-e bifurcation?
Hi, I installed Coreboot with SeaBIOS on a Supermicro X11SSH-LN4F. The stock BIOS can read two NVMe drives in a Dual m.2 splitter card inserted in the middle slot 5 on the motherboard. But coreboot can not. In the coreboot nconfig menu there is no setting that will enable bifurcation of the x8 slot to x4x4. Is this something that is configurable in any way? /Tomas ___ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org
[coreboot] coreboot on MS-6380E and/or Intel PM965
Hi *, I would like to ask if it is planned to support MS-6380E motherboard (my old desktop) or Intel PM965 chipset (in my MSI GX700 notebook). Regards Thomas -- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
[coreboot] IRQ problems under qemu
When I tried to run coreboot under qemu, I was at first positively surprised how well the things worked. The BIOS + linux kernel payload booted in no time! But when I then tried to set up networking, I couldn't get that to work. Somehow the linux kernel couldn't locate the interrupts of the NIC. After some digging I found out that coreboot doesn't provide ACPI tables and instead uses PCI IRQ table (I had to extract this table from a running qemu system using the getpir utility and then copy it to coreboot, if you want that patch, I can send that too). Coreboot copies this table at runtime into memory at 0xf. Apparently 0xf-0xf is part of the ISA BIOS, and qemu marks this range as read-only. The attached patch for qemu fixes that and also cleans up some of the memory initialization. Instead of marking the ISA BIOS as read-only, it copies that part from the BIOS image into the appropriate place (at 0xf-0xf) and leaves the memory as read-write. tom Index: hw/pc.c === --- hw/pc.c (revision 5846) +++ hw/pc.c (working copy) @@ -806,39 +806,29 @@ vmport_init(); -/* allocate RAM */ -ram_addr = qemu_ram_alloc(0xa); +/* allocate first MB of RAM */ +ram_addr = qemu_ram_alloc(0x10); cpu_register_physical_memory(0, 0xa, ram_addr); -/* Allocate, even though we won't register, so we don't break the - * phys_ram_base + PA assumption. This range includes vga (0xa - 0xc), - * and some bios areas, which will be registered later - */ -ram_addr = qemu_ram_alloc(0x10 - 0xa); -ram_addr = qemu_ram_alloc(below_4g_mem_size - 0x10); -cpu_register_physical_memory(0x10, - below_4g_mem_size - 0x10, - ram_addr); +/* allocate all of the remaining RAM and register it with the CPU */ +cpu_register_physical_memory(0x10, below_4g_mem_size - 0x10, +qemu_ram_alloc(below_4g_mem_size - 0x10)); -/* above 4giga memory allocation */ if (above_4g_mem_size > 0) { -ram_addr = qemu_ram_alloc(above_4g_mem_size); -cpu_register_physical_memory(0x1ULL, - above_4g_mem_size, - ram_addr); +cpu_register_physical_memory(0x1ULL, above_4g_mem_size, +qemu_ram_alloc(above_4g_mem_size)); } - /* allocate VGA RAM */ vga_ram_addr = qemu_ram_alloc(vga_ram_size); -/* BIOS load */ +/* BIOS: load it to memory, copy the ISA BIOS into the last 128k + * of the first MB, map the whole BIOS at the top of memory */ if (bios_name == NULL) bios_name = BIOS_FILENAME; snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name); bios_size = get_image_size(buf); -if (bios_size <= 0 || -(bios_size % 65536) != 0) { +if (bios_size <= 0 || (bios_size % 65536) != 0) { goto bios_error; } bios_offset = qemu_ram_alloc(bios_size); @@ -849,7 +839,20 @@ exit(1); } -/* VGA BIOS load */ +cpu_register_physical_memory((uint32_t)(-bios_size), +bios_size, bios_offset | IO_MEM_ROM); + +isa_bios_size = bios_size; +if (isa_bios_size > (128 * 1024)) +isa_bios_size = 128 * 1024; + +memcpy(phys_ram_base + 0x10 - isa_bios_size, +phys_ram_base + ram_addr + 0x10 - isa_bios_size, isa_bios_size); +cpu_register_physical_memory(0x10 - isa_bios_size, isa_bios_size, +ram_addr + 0x10 - isa_bios_size); + +/* VGA BIOS: load it directly into 0xc+0x1, + * register the range with the CPU. */ if (cirrus_vga_enabled) { snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_CIRRUS_FILENAME); } else { @@ -858,27 +861,17 @@ vga_bios_size = get_image_size(buf); if (vga_bios_size <= 0 || vga_bios_size > 65536) goto vga_bios_error; -vga_bios_offset = qemu_ram_alloc(65536); -ret = load_image(buf, phys_ram_base + vga_bios_offset); +ret = load_image(buf, phys_ram_base + ram_addr + 0xc); if (ret != vga_bios_size) { vga_bios_error: fprintf(stderr, "qemu: could not load VGA BIOS '%s'\n", buf); exit(1); } -/* setup basic memory access */ cpu_register_physical_memory(0xc, 0x1, - vga_bios_offset | IO_MEM_ROM); +vga_bios_offset | IO_MEM_ROM); -/* map the last 128KB of the BIOS in ISA space */ -isa_bios_size = bios_size; -if (isa_bios_size > (128 * 1024)) -isa_bios_size = 128 * 1024; -cpu_register_physical_memory(0x10 - isa_bios_size, - isa_bios_size, - (bios_offset + bios_size - isa_bios_size) | IO_MEM_ROM); - { ram_addr_t option_rom_offset; int size, offset; @@ -916,10 +909,6 @@ } }
[coreboot] Re: [linux-mei] intelmetool crashed mei_me driver
What is intelmeitool? Thanks Tomas > -Original Message- > From: linux-mei-requ...@eclists.intel.com [mailto:linux-mei- > requ...@eclists.intel.com] On Behalf Of Shawn > Sent: Tuesday, January 22, 2019 10:30 > To: linux-...@linux.intel.com; coreboot > Subject: [linux-mei] intelmetool crashed mei_me driver > > Hi, > > intelmetool crashed mei_me driver and you can reproduce it via: > > -- > #!/bin/bash > > counter=0 > > while [ $counter -le 1000 ] > do > ./intelmetool -m >> /tmp/me.log > echo $counter > sleep 5 > counter=$(($counter + 1)) > done > > -- > > The kernel crash log was attached! > > -- > GNU powered it... > GPL protect it... > God blessing it... > > regards > Shawn > - > linux-...@eclists.intel.com > https://eclists.intel.com/sympa/info/linux-mei > Unsubscribe by sending email to sy...@eclists.intel.com with subject > "Unsubscribe linux-mei" ___ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org
[coreboot] Re: [linux-mei] intelmetool crashed mei_me driver
First time I see it. My guess is this tool is for SPS and it will conflict with the mei driver on clients platform (mobile, desktop, workstations) It messes up the drive state machine, hence the error I've removed recently the BUG() from the drivers so I guess on 4.20 it won't crash, but still this cannot work. Thanks Tomas > -Original Message- > From: Shawn [mailto:cit...@gmail.com] > Sent: Tuesday, January 22, 2019 10:38 > To: Winkler, Tomas > Cc: linux-...@linux.intel.com; coreboot > Subject: Re: [linux-mei] intelmetool crashed mei_me driver > > use this one: > https://github.com/coreboot/coreboot/tree/master/util/intelmetool > > On Tue, Jan 22, 2019 at 4:32 PM Winkler, Tomas > wrote: > > > > What is intelmeitool? > > Thanks > > Tomas > > > > > > > -Original Message- > > > From: linux-mei-requ...@eclists.intel.com [mailto:linux-mei- > > > requ...@eclists.intel.com] On Behalf Of Shawn > > > Sent: Tuesday, January 22, 2019 10:30 > > > To: linux-...@linux.intel.com; coreboot > > > Subject: [linux-mei] intelmetool crashed mei_me driver > > > > > > Hi, > > > > > > intelmetool crashed mei_me driver and you can reproduce it via: > > > > > > -- > > > #!/bin/bash > > > > > > counter=0 > > > > > > while [ $counter -le 1000 ] > > > do > > > ./intelmetool -m >> /tmp/me.log > > > echo $counter > > > sleep 5 > > > counter=$(($counter + 1)) > > > done > > > > > > -- > > > > > > The kernel crash log was attached! > > > > > > -- > > > GNU powered it... > > > GPL protect it... > > > God blessing it... > > > > > > regards > > > Shawn > > > - > > > linux-...@eclists.intel.com > > > https://eclists.intel.com/sympa/info/linux-mei > > > Unsubscribe by sending email to sy...@eclists.intel.com with subject > > > "Unsubscribe linux-mei" > > > > -- > GNU powered it... > GPL protect it... > God blessing it... > > regards > Shawn ___ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org
[coreboot] Re: [linux-mei] intelmetool crashed mei_me driver
The tools impalements the mei state machine in the user space so it will conflict with the driver, you can try to unbind the driver if you need such functionality, Second the protocol is evolving and we are update the driver but I cannot update it in a tool I don't know about. I suggest you rewrite the tool using the driver interface. This is not connected in any way to underlying FW OS, this is about API. Thanks Tomas > -Original Message- > From: linux-mei-requ...@eclists.intel.com [mailto:linux-mei- > requ...@eclists.intel.com] On Behalf Of Shawn > Sent: Wednesday, January 23, 2019 05:40 > To: Winkler, Tomas > Cc: linux-...@linux.intel.com; coreboot > Subject: Re: [linux-mei] intelmetool crashed mei_me driver > > intelmetool is for ME( desktop/laptop/etc) and we barely use it on SPS. We > tested it on a pre-broadwell machine and it works fine. Could it be an issue > related to the specific ME OS, e.g: the different impls of handling stuff from > mei_me between MINIX-based and ThreadX? > > On Tue, Jan 22, 2019 at 4:44 PM Winkler, Tomas > wrote: > > > > First time I see it. > > My guess is this tool is for SPS and it will conflict with the mei > > driver on clients platform (mobile, desktop, workstations) It messes > > up the drive state machine, hence the error I've removed recently the BUG() > from the drivers so I guess on 4.20 it won't crash, but still this cannot > work. > > Thanks > > Tomas > > > > -- > GNU powered it... > GPL protect it... > God blessing it... > > regards > Shawn > - > linux-...@eclists.intel.com > https://eclists.intel.com/sympa/info/linux-mei > Unsubscribe by sending email to sy...@eclists.intel.com with subject > "Unsubscribe linux-mei" ___ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org