[coreboot] Servo debug uart in Linux?

Trammell Hudson hudson at trmm.net
Fri Oct 7 17:28:09 CEST 2016

On Thu, Oct 06, 2016 at 11:27:01AM -0700, Duncan Laurie wrote:
> I may be mis-remembering and this might come up as ttyS0 in linux for
> skylake.  (it is ttyS2 on apollolake...)  Or just use a custom command line
> like console=uart,mmio32,0xd1134000,115200n8

That commandline doesn't produce any output for me.  Is that the right
address?  src/soc/intel/skylake/include/soc/iomap.h has:

#define UART_DEBUG_BASE_ADDRESS 0xfe034000

Unfortunately using that address doesn't produce any output, either.

For Xen I've hacked together a slow serial output using port 0x80
and recreating it from the ec console.  This was very helpful to track
down that it was hanging when trying to initialize the vga console,
which doesn't exist since there is no VGA bios.

Xen starts now, but the dom0 kernel doesn't show any signs of life
with earlyprintk=xen or trying to send it to the mmio uart.
It might be due to the 4.4 kernel not having all the skylake support.
Still, it's progress since yesterday...

(XEN) Xen version 4.6.3 (user at domain) (gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 201510
10) debug=n 1970-01-01
(XEN) Latest ChangeSet: 
(XEN) Bootloader: kexec 2.0.12
(XEN) Command line: no-real-mode console=none reboot=no
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN) Disc information:
(XEN)  Found 0 MBR signatures
(XEN)  Found 0 EDD information structures
(XEN) Multiboot-e820 RAM map:
(XEN)  0000000000000000 - 0000000000000fff type 2989
(XEN)  0000000000001000 - 000000000009ffff (usable)
(XEN)  00000000000a0000 - 00000000000fffff type 2989
(XEN)  0000000000100000 - 000000007aaadfff (usable)
(XEN)  000000007aaae000 - 000000007aefffff type 2989
(XEN)  000000007af00000 - 000000007fffffff type 2989
(XEN)  00000000e0000000 - 00000000efffffff type 2989
(XEN)  00000000fd000000 - 00000000ffffffff type 2989
(XEN)  0000000100000000 - 000000027effffff (usable)
(XEN) ACPI: RSDP 000F0000, 0024 (r2 CORE  )
(XEN) ACPI: XSDT 7AABF0E0, 005C (r1 CORE   COREBOOT        0 CORE        0)
(XEN) ACPI: FACP 7AAC3410, 00F4 (r5 CORE   COREBOOT        0 CORE       1)
(XEN) ACPI Error (tbfadt-0450): Required field "PmTimerBlock" has zero address a
nd/or length: 0000000000000000/0 [20070126]
(XEN) ACPI: DSDT 7AABF280, 4186 (r5 COREv4 COREBOOT 20110725 INTL 20160318)
(XEN) ACPI: FACS 7AABF240, 0040
(XEN) ACPI: SSDT 7AAC3510, 106D (r2 CORE   COREBOOT       2A CORE       2A)
(XEN) ACPI: MCFG 7AAC4580, 003C (r1 CORE   COREBOOT        0 CORE        0)
(XEN) ACPI: TCPA 7AAC45C0, 0032 (r2 CORE   COREBOOT        0 CORE        0)
(XEN) ACPI: APIC 7AAC4600, 006C (r1 CORE   COREBOOT        0 CORE        0)
(XEN) ACPI: NHLT 7AAC4670, 00F6 (r5 CORE   COREBOOT        0 CORE        0)
(XEN) ACPI: HPET 7AAC6770, 0038 (r1 CORE   COREBOOT        0 CORE        0)
(XEN) System RAM: 8090MB (8284456kB)
(XEN) Domain heap initialised
(XEN) Processor #0 6:14 APIC version 21
(XEN) Processor #1 6:14 APIC version 21
(XEN) Processor #2 6:14 APIC version 21
(XEN) Processor #3 6:14 APIC version 21
(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) xstate_init: using cntxt_size: 0x440 and states: 0x1f
(XEN) CPU0 CMCI LVT vector (0xf9) already installed
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 1104.094 MHz processor.
(XEN) Initing memory sharing.
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) I/O virtualisation disabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN)  -> Using old ACK method
(XEN) Platform timer is 23.999MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN)  - VMCS shadowing
(XEN)  - VM Functions
(XEN)  - Virtualisation Exceptions
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 4 CPUs
(XEN) Dom0 has maximum 696 PIRQs
(XEN) NX (Execute Disable) protection active
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x2055000
(XEN)  Dom0 alloc.:   000000026c000000->0000000270000000 (1980530 pages to be allocated)
(XEN)  Init. ramdisk: 000000027a79b000->000000027ee00000
(XEN)  Loaded kernel: ffffffff81000000->ffffffff82055000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000f5f6b8
(XEN)  Start info:    ffffffff82055000->ffffffff820554b4
(XEN)  Page tables:   ffffffff82056000->ffffffff8206b000
(XEN)  Boot stack:    ffffffff8206b000->ffffffff8206c000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82400000
(XEN)  ENTRY ADDRESS: ffffffff81d521f0
(XEN) Dom0 has maximum 4 VCPUs
(XEN) Scrubbing Free RAM on 1 nodes using 2 CPUs
(XEN) ........................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 320kB init memory.


More information about the coreboot mailing list