[coreboot] Servo debug uart in Linux?

Duncan Laurie dlaurie at chromium.org
Fri Oct 7 18:58:19 CEST 2016


On Fri, Oct 7, 2016 at 8:28 AM, Trammell Hudson <hudson at trmm.net> wrote:

> 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.
>
>

Oh yeah the value I sent was taken from a chell chromebook, but it was was
built w/o debug uart enabled so that was just a normal assigned base.  I
think it should continue to be at the hardcoded 0xfe034000 if you have
CONFIG_UART_DEBUG enabled.

We have seen issues where the kernel puts the device in D3 when the drivers
are loaded so output was getting lost (we might have a custom patch for
that in the chromium 3.18 kernel) but I think with earlyprintk= or
earlycon= we were still seeing early kernel boot output before it would get
shut off...

-duncan



> 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) ENABLING IO-APIC IRQs
> (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) *** LOADING DOMAIN 0 ***
> (XEN)  Xen  kernel: 64-bit, lsb, compat32
> (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x2055000
> (XEN) PHYSICAL MEMORY ARRANGEMENT:
> (XEN)  Dom0 alloc.:   000000026c000000->0000000270000000 (1980530 pages
> to be allocated)
> (XEN)  Init. ramdisk: 000000027a79b000->000000027ee00000
> (XEN) VIRTUAL MEMORY ARRANGEMENT:
> (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.
>
> --
> Trammell
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20161007/ceee9d09/attachment.html>


More information about the coreboot mailing list