#
291c2691 |
|
22-Sep-2018 |
Mike Voydanoff <voydanoff@google.com> |
[mt8156s_ref] Initial support for MT8167S reference board Zircon boots into serial console shell on MT8167S with this change. The Zircon image is packaged to work with Android Verified Boot. A stub board driver for the board is included in this CL. Still to do: - Implement interrupt support in the UART driver instead of spinning and polling. This will require pinmuxing the interrupt to level triggered active low, since that configuration cannot be done in the gic. - Remove code in the boot shim that disables the watchdog timer when we have a proper watchdog driver in userspace. TEST: Board boots into a shell, board driver loads and "runtests" passes. Change-Id: I2b4fa280c40b7deab061033ffcbee04f8584c407
|
#
529dd880 |
|
13-Jun-2018 |
Corey Tabaka <eieio@google.com> |
[kernel] Kernel integration of runtime lock dependency tracking. - Add kernel runtime support routines for lockdep. - Add kernel tests for lockdep. - Add makefile machinery to enable lockdep and tests independently. Lock validation is disabled by default. When disabled the mechanism is transparent and incurs zero overhead. The validator may be enabled by setting ENABLE_LOCK_DEP to true in local.mk or through the environment. Bug: ZX-23 Test: Enable lockdep and kernel tests; k ut lock_dep_tests passes. Change-Id: Ie4e9544e7b7131c6eb7c76fdcd3fb86bb77ff045
|
#
db5822f8 |
|
23-May-2018 |
Gurjant Kalsi <gkalsi@google.com> |
[zbi] Introduce libzbi Introduce libzbi for ZBI manipulation from Zircon userspace or kernel space. There are a number of places in the system where we do arbitrary ZBI manipulation: + Iterating over an image + Appending items to an image + Extracting items from an image and it would be nice to have a single implementation for each of these routines. For now, this implementation provides the general shape and layout of libzbi and ports the ARM64 platform's initialization routines to use libzbi. If all looks well, I can continue to port x86 too. Change-Id: I5e2825cc3e79ec12c0d408bc38e779102c75698b
|
#
c26ba6f3 |
|
11-Apr-2018 |
Mike Voydanoff <voydanoff@google.com> |
[kernel][arm64] Remove remaining use of MDI from the arm64 kernel Kernel drivers are now configured via bootdata passed from the boot shims. Change-Id: I056b9b2c74a99226d98416b0308480b85460e918
|
#
7f144381 |
|
29-Mar-2018 |
Payam Moradshahi <payamm@google.com> |
[zircon][nxp][imx8] Intial support for NXP iMX8 Change-Id: Ic48bb0ddd7e21914d2e1fb63175e6464add96a11
|
#
c0757c9a |
|
16-Feb-2018 |
Payam <payamm@google.com> |
[kernel][dev][hdcp] Add a mini kernel driver that can initialize the hdcp engine This needs to be in the kernel since it requires an svc call Change-Id: I1a0124a0d54ead279acb2a3768a1455154c81e47
|
#
e5ed6a42 |
|
18-Jan-2018 |
Brijen Raval <braval@google.com> |
[kernel][gic] GIC code refactoring to add support for GICv3 in Hypervisor Change-Id: Ia3e96db67ca507a26fbf537d8eb004c1d5a9b6b0
|
#
df852e40 |
|
22-Dec-2017 |
Mike Voydanoff <voydanoff@google.com> |
[hikey960] Implement dm reboot and dm reboot-bootloader Hikey can now reboot itself and also boot into the bootloader Unfortunately I haven't figured out how to implement shutdown yet. ZX-1506 #done ZX-1507 #done Change-Id: Id94a1a433140c19bbfaec5ed4b342f8514f67fe5
|
#
5b85fbd2 |
|
21-Dec-2017 |
Mike Voydanoff <voydanoff@google.com> |
[kernel][pdev][power] Add support for kernel power drivers This allows targets to have custom kernel drivers for power management (for now, just rebooting and shutting down). If no power driver is specified in the MDI, a default PSCI based implementation will be used instead. ZX-1506 #comment Change-Id: I589fd0d300567b3640ccf5676b1101190a303fa9
|
#
31352893 |
|
28-Nov-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel] remove MEMBASE and some other unused variables Change-Id: I6e644de42f84b3a25e6e6e9697c32fabcedaa0d5
|
#
800043a2 |
|
27-Oct-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][arm64] remove ARCH_CPU_* defines and hard code the codegen to cortex-a53 The kernel doesn't need to be compiled or know that it's being compiled for a specific arm core. It was always set to cortex-a53 anyway. Change-Id: Ic682e87323682829d121bf2be97ba4867e5e881b
|
#
6707c390 |
|
11-Oct-2017 |
Roland McGrath <mcgrathr@google.com> |
[kernel][arm64] Rename kernel linker script Use the more obvious name kernel.ld, as x86 does. Clean up the makefile mentions. Change-Id: I443e36d1e66ab4aeaba882784339dbc5c072df64
|
#
5dc89c3f |
|
01-Oct-2017 |
Mike Voydanoff <voydanoff@google.com> |
[rpi3] Remove rpi3 kernel support We are keeping some userspace drivers that might be converted to generic platform drivers. Change-Id: I67d472c4571d731d3e0e5e9fd78dcc8a76e0e329
|
#
c40d2e9f |
|
12-Sep-2017 |
Mike Voydanoff <voydanoff@google.com> |
[kernel][qemu] Remove qemu specific PCIE logic from the kernel The driver kernel/dev/qemu is now integrated into the ARM GIC v2 code and no longer contains platform specific configuration values. The qemu specific values are now configured via PCI syscalls from a new userspace qemu platform bus driver. MG-734 #comment In progress Change-Id: I35280427999a431c7caf3e3c578cea8f7fb326e8
|
#
b98ee880 |
|
06-Jul-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][arm] remove unused legacy #define Change-Id: I72a07d606456918b127484078b79c4953b3797ed
|
#
995a8f28 |
|
30-Jun-2017 |
Eric Holland <hollande@google.com> |
[arm64][odroidc2] OdroidC2 support Change-Id: If817e84390a3f72bca35473db949cb92cfdec6c8
|
#
c4b00c8a |
|
01-Jun-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel] remove the WITH_SMP flag Always build the kernel with full SMP support. Change-Id: I105f8e4127a93113c795ae80e1dc4d4b0d43abe8
|
#
3d9a9695 |
|
26-May-2017 |
Travis Geiselbrecht <travisg@google.com> |
[kernel][heap] general heap wrapper improvements -Move the heap wrapper code to cpp -Roll the heap page allocator into heap_wrapper.cpp -Remove the compile time heap selection logic -Remove miniheap Change-Id: Id6d85b68ae02d410e91e95431ecb7b56d16a6f0d
|
#
c0e3233e |
|
17-May-2017 |
Eric Holland <hollande@google.com> |
[qemu][uart] refactor to generic pl011 Change-Id: If6641ea29c99aad752e7de14eb3ab34ec5356916
|
#
ba4aa661 |
|
10-May-2017 |
Christopher Anderson <chris@nullcode.org> |
[kernel][arm] Integrate memory limit lib into platform - Enable kernel.memory-limit-mb for all ARM64 platforms - Remove a header that slipped into memory_limit.cpp - Fix a typo in memory_limit tests pertaining to rpi3 memory Change-Id: Ia3596a53c920b7c171f7230ff9f7d9dd512f1acc
|
#
7c356db1 |
|
11-May-2017 |
Yvonne Yip <yky@google.com> |
remove unused msm/trapper code Change-Id: I9737b153cd68533b7e0f4e69f4231ec4173ef8cd
|
#
3df48681 |
|
01-May-2017 |
Gurjant Kalsi <me@gurjantkalsi.com> |
[rpi3][platform] Implement platform_halt_cpu. The BCM2837 on the RPi3 does not implement a PSCI interface so we must implement platform_halt_cpu ourselves. To halt the CPU, we mimic the behaviour of the firmware and park the CPU in a loop at a low memory address until somebody sets our CPU vector and issues an SEV instruction. Change-Id: I91f21269cc3dd224884352903540b9c37563f270
|
#
968a6a8a |
|
28-Apr-2017 |
Gurjant Kalsi <gkalsi@google.com> |
[arm64][platform] Rename arm64 platform.c to cpp Rename generic-arm/platform.c to platform.cpp in preparation for converting it to C++ Change-Id: I8332389a8e80e25f51fb04b1a0b01b6e540d583e
|
#
16656ae0 |
|
05-Apr-2017 |
Brian Swetland <swetland@google.com> |
[build] flatten the build Previously we treated kernel/, system/, and third_party/ as overlays on a shared namespace. This required the concept of "canonical" module names, and a lot of complexity to ensure that things didn't collide and the build worked. This change gets rid of that, no longer passes -I to make, so that include directives from our *.mk files do not magically wildcard across various paths, etc. The most user-visible change is that everywhere where a module name is specified (MODULE_DEPS, MODULE_LIBS, etc), full module names like kernel/lib/io or system/ulib/mxio must be used instead of previously-allowed "short" names like lib/io and ulib/mxio. The build output still has a similar shape, but the first segment of the module path (kernel/, system/, or third_party/) is no longer elided under $(BUILDDIR) Change-Id: I525aba1da1c86eb7a86007bddc669f7eeebfedd5
|
#
5dbe69d1 |
|
10-Mar-2017 |
Mike Voydanoff <voydanoff@google.com> |
[arm64][qemu] Transition the arm64 qemu build to use the generic-arm platform: Make the arm_gicv2 interrupt controller and qemu UART drivers pdev drivers so they can be selectively enabled based on MDI. Removed obsolete gic v3 compatibility support from the arm_gicv2 driver Move qemu pcie code to kernel/dev/qemu Fold kernel/arch/arm64/platform.c intoto generic-arm platform code Now all arm64 builds are using the common generic-arm platform support Change-Id: Id929c053d4e4438e6b8293918c0236a8590feb88
|
#
daf19fb7 |
|
05-Mar-2017 |
Mike Voydanoff <voydanoff@google.com> |
[bcm28xx] Transition the RPi3 build to use the generic-arm platform: Make the bcm28xx interrupt controller and debug UART drivers pdev drivers so they can be selectively enabled based on MDI. Move some miscellaneous code from the bcm28xx platform to kernel/dev/bcm28xx Make arch_max_num_cpus() return CPU count from MDI rather than returning a count of running CPUs. This allows us to eliminate some uses of the SMP_MAX_CPU define, which might not match actual number of CPUs in a generic-arm build. We still have a couple MSM8998 and BCM2837 #ifdefs in platform.c, which we will clean up later. Change-Id: I5aca73b9bfd958b56291a9673ab9ee3adb0d687a
|
#
4add1288 |
|
04-Mar-2017 |
Mike Voydanoff <voydanoff@google.com> |
[arm64][timer] Add support for initializing the arm generic timer from MDI The arm generic timer driver can be initialized as follows: kernel-drivers = { arm-generic-timer = { irq-phys = <irq> // for using physical timer *** OR *** irq-virt = <irq> // for using virtual timer *** OR *** irq-sphys = <irq> // for using secure physical timer freq-override = 0 // optional parameter } } Change-Id: I719ab4b6457b396456f3807c28d3d8386dc23b0e
|
#
14379871 |
|
04-Mar-2017 |
Mike Voydanoff <voydanoff@google.com> |
[msm][uart] Convert the MSM UART driver to a platform driver Change-Id: I595d09def50fae7143b42f2d8dce00225b7505e4
|
#
aab57fe2 |
|
09-Mar-2017 |
Mike Voydanoff <voydanoff@google.com> |
[generic-arm] Start using pdev and MDI in generic-arm platform The generic-arm platform now reads the MDI data from the ramdisk and initializes the pdev driver. We also now initiize secondary CPUs based on information in the MDI. Change-Id: I906dcce0e92aa2bb85cb06274cf7da41e4824823
|
#
7df375ca |
|
03-Mar-2017 |
Mike Voydanoff <voydanoff@google.com> |
[platform][generic-arm] Rename platform msm8998 to generic-arm Currently generic-arm only supports msm8998, but we will use this as a starting point for creating a generic ARM platform that contains all our ARM64 drivers configureable via MDI Change-Id: I35d3eabdcf19a07f02a2c4e6c40cc62293904413
|