History log of /fuchsia/zircon/kernel/platform/pc/platform_p.h
Revision Date Author Comments
# 987b4ea0 16-Aug-2018 Christopher Anderson <cja@google.com>

[kernel] Add feature flag to disable kernel PCI

When ENABLE_USER_PCI=1 is passed to the build zircon
will build with pci syscalls stubbed out and initialize
a new, mostly-empty userspace pci process.

Test: core-tests

Change-Id: I9f35715a7c4374072491c91592966815c6d0c667


# 2f2670a8 09-Aug-2018 Christopher Anderson <cja@google.com>

[kernel] Pull MSI support out of PCIe into dev/interrupt

- Remove PCI dependency from the Intel IOMMU impl.
- Remove WITH_DEV_PCIE defines that gate MSI support.
- Move msi_* functions to dev/interrupt.h and provide
weak stubs in dev/interrupt/msi.c
- Update intel and aram methods to use new MSI functions
that exist standalone.

The MSI interface is subject to change still in the future,
but for now this decouples the IOMMU from PCI and sets up
a framework for MSI being part of the kernel interrupt interface.

PciePlatform support classes are mostly left alone to avoid
refactoring a system that will be unused later. They may be
eliminated in a future CL if it seems easy to do.

Test: core-tests and boot tests

Change-Id: I89f226ccf5ebf4930ea06d9f32cb6e1caabde34e


# 2096a3b7 28-Mar-2018 Todd Eisenberger <teisenbe@google.com>

[kernel][uart] Add a cmdline for overriding bootdata settings

Passing kernel.serial=none will turn serial off.
Passing kernel.serial=legacy on x64 will use the legacy COM1 port.
Not passing kernel.serial will fallback to the bootdata settings.
If no bootdata serial setting is provided, the system on x64
currently defaults to the legacy port.

This also updates the run-zircon script to take a --no-serial
argument for disabling serial. If this option is not provided,
run-zircon will pass kernel.serial=legacy to the kernel.

ZX-1901 #comment Add the cmdline argument

Change-Id: Ied0b159ce0c6ba0542f2a5087c63013f8324e9bc


# bdb23a71 05-Jan-2018 Travis Geiselbrecht <travisg@google.com>

[kernel][platform] run clang-fmt on all of kernel/platform

Change-Id: I8dcc6ca434f0c77e4fa7c23c202772abf03e1f1d


# 736680ee 12-Dec-2017 Todd Eisenberger <teisenbe@google.com>

[platform][pc] Give better names to pc internal functions

Change-Id: Ifd2def5a5b5f97f924eefe3dbbc0ff5c4d1934d4


# 1bff2eb8 13-Nov-2017 Todd Eisenberger <teisenbe@google.com>

[pc][suspend] Mark UART as stopped during suspend

Otherwise if a print occurs before the UART comes up, the system may
hang.

Change-Id: I0af64289c476f43b029a57dd47e0d77c73aca33f


# b9527766 02-Nov-2017 Todd Eisenberger <teisenbe@google.com>

[pc][suspend] Implement platform_{suspend, resume}

This allows us to restore timers after resume from suspend-to-RAM.

ZX-1184

Change-Id: Ia63d1403c8011fa7b6d7ba8b5b75f3791b621051


# 1b9a5303 06-Nov-2017 Todd Eisenberger <teisenbe@google.com>

[kernel][pc] Delete dead watchdog code

Change-Id: I5633ead133dce5fcbd19c53e2ea4f1440206145b


# 7569b41e 20-Sep-2017 George Kulakowski <kulakowski@google.com>

[kernel][platform] Convert kernel/platform to use zx_status_t

Change-Id: If07f3ab0f67f7c3408fc520d48d9cde1b7d735be


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 140c7d77 25-Jul-2017 Gurjant Kalsi <gkalsi@google.com>

[pc][memory] Make enumerate_e820 yield range type

The enumerate_e820 method previous only yielded the base
address and size of each memory region.

This change makes it also yield whether or not the region
points to memory.

Change-Id: I2d53622c0ef3101f6c3044f9f7ecf6256661b4e5


# b8ff16c3 20-Oct-2016 John Grossman <johngro@google.com>

[pcie] Start to refactor initialization.

Start to re-factor the way the PCIe bus driver becomes initialized and
starts up. Significantly...

Bus regions are no longer passed to the bus driver at init/start time.
Instead, the bus driver class now exposes Add/SutractBusRegion
methods. Users may add or subtract bus regions which are available
for allocation at any time, even if the bus driver is already running.
The driver will not allow regions which are allocated and in use to be
modified via region subtraction or addition.

On x86, the lower 4GB of address space is given to PCIe at platform
initialization time, and then all of the regions given by the e820 are
subtracted out. Later, after user-mode ACPI comes up, the driver gets
started.

Next Steps: Add some syscalls to expose Add/Subtract region. Then,
before the driver is started, use the syscalls from user-mode ACPI to
remove any regions that ACPI discovers which PCIe should not touch.

MG-325 #comment Regions can now be subtracted. Passing to teisenbe
for the user-mode ACPI component of the task.

Change-Id: Icd1aefab1617b7592b9f5d000cd54fbec0373dfb


# 93e42fdd 29-Sep-2016 John Grossman <johngro@google.com>

[pcie] Convert PCIe bus driver to "C++"

Note: this does not actually convert the driver to full on C++, it
just switches to building with the C++ compiler and deals with some of
the annoying differences between C++ and C compiler.

In the short term, this will give the PCIe bus to ability to use other
library code which is written in C++. In the longer term, other parts
of the driver can be converted (as appropriate) to take advantage of
some of the nicer safety oriented things which can be done with C++'s
stronger stance on type safety.

MG-311 #comment Initial conversion started. Code compiles with g++

Change-Id: If7c9fe98734ddfd64d587a6f73bc2ea6a515f6db


# 8d08ef5d 23-Sep-2016 Todd Eisenberger <teisenbe@google.com>

[x86][watchdog] Add an NMI-driven watchdog timer

If this timer is enabled with the kernel.watchdog cmdline, the system
will automatically reboot if an LK timer stops checking in.

Change-Id: Ia300b201193f12503e7be702ea1f20218d081657


# f5d5842b 04-Oct-2016 Travis Geiselbrecht <travisg@google.com>

[kernel] add -Wmissing-prototypes, fix all the warnings that show up

Mostly just a bunch of functions that needed to be made static, though
fix a few places where a prototype needs to be moved into a header
to be shared across a few files.

Change-Id: Ic7510490257c5c9ef1c702317db4121c45daae35


# 53b9e1c8 15-Jun-2016 The Fuchsia Authors <authors@fuchsia.local>

[magenta] Initial commit