summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
9 daysplatform: generic-arm64: Support uart debugHEADmastermainArve Hjønnevåg
Bug: 298710242 Change-Id: Icd87203a7a4fb468e106828898d8faec6c50a63f
9 daysplatform: generic-arm64: Add dtb boot supportArve Hjønnevåg
Add support for boot protocol with dtb in x0 instead of ram size. Find gic (v3) registers in device tree instead of making an smc call. TODO: Add gicv2 support Bug: 297275002 Change-Id: Ie30b71cb6b7897438bf953b04ad1f41583ce6d97
9 daysgeneric-x86_64: Disable c_str_literals on Rust 1.77+Andrei Homescu
C string literals were stabilized in Rust 1.77 so the c_str_literals feature is no longer needed. Bug: 337337239 Test: generic-x86_64-test Change-Id: I8424404fa4220ed9fb90f9c112926a0a9970ce3f
2024-05-02platform: generic-arm64: Fix to build without libsmArve Hjønnevåg
Bug: 298710242 Change-Id: Ide513ba42ed1cc67baaf7c3c90e8bcf7bf6a6457
2024-04-02platform: generic-x86_64: Remove external/lk/lib/rust_support dependencyArve Hjønnevåg
This path does not work in the android manifest and we are addding this as an implicit dependendy for all kernel rust modules anyway. Bug: 304585390 Test: trusty/vendor/google/aosp/scripts/build.py generic-x86_64-test Change-Id: Ifd5287a4969ec1bdfa641925ff8f496ae6c7d3f4
2024-03-29platform: generic-x86_64: Add support for crosvm pci bus with virtio using ↵Arve Hjønnevåg
rust acpi crate TODO: Call PCI init function Bug: 304585390 Change-Id: Id9ecc3ad39bce722a4cbaef92d9e501d06e45933
2024-02-20platform/generic-x86_64: Add empty vsock rust crate depending on virtio-driverssimpleperf-releaseKhyber Sen
Test: build.py generic-x86_64-test Bug: 298705967 Change-Id: I8a488e5689847a0647cd3583385ffa8628ed9b3e
2023-08-18trusty:gicv4: fix GICR per-CPU offsetMike McTernan
Bug: 296286393 Test: build.py && test on device Change-Id: I8a505ffdb2981567fcbea1cae3d01ab57b9a090a
2023-01-11smc: Validate prepared DMA rangesPer Larsen
Expand example SMC access control policy to reject certain smcalls if the argument does not correspond to a physical address that has been prepared for DMA. This enables testing of the prepared DMA address tracking for each trusty app added in aosp/2368651. Test: build.py --test com.android.trusty.smc.test Bug: 244776134 Change-Id: Ice1b69e57af2584bec11d5841ae59937876e6d68
2023-01-10smc: Deny access to smc call to test access controlPer Larsen
Bug: None Test: build.py qemu-generic-arm64-test-debug --test com.android.trusty.smc.test Change-Id: Ie8acb541ae81508b295679476781298a1e7f8f7c
2023-01-10smc: Add request validation to smc service access policyPer Larsen
The current service access policy can deny or allow access to smc calls based on the app UUID. Add the ability to deny an smc call based on the contents of the request. Test: build.py --test com.android.trusty.smc.test Bug: 244776134 Change-Id: I4bfa8819fc60088b39fcdf21b9efe5ad9378a754
2022-12-24platform/generic-arm64: Find dt tests with embedded dtb iteratorAyrton Munoz
Bug: 231151995 Change-Id: I23ee0dc3c6c9d235873715a80025a3970d16f756
2022-12-15platform/generic-arm64: Start dtb serviceAndrei Homescu
Add code that creates and starts the DTB service during initialization. Bug: 231151995 Change-Id: Iac2e2088276501695181862c870632ced0a7bd57
2022-10-14Trusty: Make GICR size depends on SMP_MAX_CPUSMike McTernan
BACKPORT: go/ag/19250609 Bug: 238680828 Testing: trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm64-test-debug Testing: trusty/vendor/google/aosp/scripts/build.py qemu-generic-arm32-test-debug Change-Id: I94955e1888c79ea234d743c0a717407bca7dc0dc Merged-In: If0fcdb614edc68878c6ce2b5a376f67552825a9b
2022-09-30Switch to PRI format specifier macrosAyrton Munoz
Bug: 230134581 Change-Id: I6f54ec7a37bf928865e0c09045516bef3d9533aa
2022-02-01[platform][generic-arm64] Set MEMBASE to 0Andrei Homescu
Set MEMBASE to 0 to avoid breaking the build when KERNEL_BASE is not present in the project build files. Bug: 80147716 Change-Id: Ic2383c3d59b3fe89e5dfc1896d695ec3b0441a61
2022-01-29[platform][generic-arm64] Find a dynamic virtual address for GIC registersAndrei Homescu
The GIC registers were mapped at fixed virtual addresses in the kernel address space, which causes problems for KASLR due to address overlaps. The kernel now locates a suitable virtual address space gap for the GIC. Bug: 80147716 Change-Id: Id4fd3295e80b719a034a395e9919d39c0b35082c
2020-08-27[platform][generic-arm64] Add space between gic banksArve Hjønnevåg
Separate gic register banks so vmm can place guard pages there. Also adjust the gap for GICv2 so that the GICD bank is at the same address as in GICv3. Bug: 80145793 Change-Id: I9e9861a5ff59c36867b0551be3f58d89e097999b
2019-12-06smc: ACL implementationTri Vo
Introduce smc_access_policy that we use to check whether a given client is allowed to issue a given SMC. Access policy: - should be defined per platform, as SMC functionality is platform-specific. - is used by SMC service to enforce ACL. Bug: 143298416 Test: com.android.trusty.smc.test Change-Id: I01d238df4f3c4859d0b7c4afa8716ec8f02e3e75
2019-11-21[platform][generic-arm64] Add gicv3 supportArve Hjønnevåg
Bug: 122357256 Change-Id: I227443f2583faa3a299b6c1f44b623e15ffeab01
2019-04-16Type correctionsMatthew Maurer
status should be signed, as the return codes are signed. Pointers in the ELF code are not deltas, so they should be unsigned. The SMC interface takes unsigned values, so we add an explicit cast. Bug: 129300035 Change-Id: I768ce054bf6ff7bd4c751ceb4c12f02ef4bb53e5
2018-12-20[platform][generic-x86_64] Add platform initialization codeZhong,Fangjian
Bug: 119111590 Change-Id: I172fec57452ebede9eafe7d74b9c0c781d413101
2018-12-19[platform][generic-x86_64] Add output supportZhong,Fangjian
Serial port is used to print output. Bug: 119111590 Change-Id: Iacbfb2c4d3d279cab079d0b0d3beb94e6bfdb7b6
2018-12-19[platform][generic-x86_64] Add makefile for generic-x86_64 projectZhong,Fangjian
Bug: 119111590 Change-Id: Id5a947a34e74ace7939c8d9707b96b252bb36e0e
2018-08-06Enable pre-upload clang formatting.Nick Bray
Also re-format the code with clang format. Bug: 110489128 Change-Id: I635a8a3af88d7666d3bee45854cfbe777ee76b5f
2018-02-27[platform][vexpress] Fix sign mismatch in compare.Nick Bray
Change-Id: I0e2971001c142517e0defbdb12edc58b02e473f8
2018-02-26Use "__asm__" instead of "asm".Nick Bray
This improves compatibility with --std=c11. Change-Id: I58be4f63693668d0483162b9740639126b267ec2
2017-07-28[platform][vexpress] kvaddr->vaddrArve Hjønnevåg
Change-Id: I28aace5153d8e1bdba771d7c167fb0dc8edabd11
2017-03-14[clang][platform][generic-arm64] Change partial to complete initializerRoberto Pereira
Change-Id: I9e7e5a5699e17acaf34c54ca94bfd2d4da9d6872
2015-09-18[platform][generic-arm64] Set ARM_CPU to armv8-aArve Hjønnevåg
Change ARM_CPU from cortex-a15 to armv8-a to enable armv8 instructions. Also set ARM_CPU when building a 64 bit kernel, so 32 bit user-space code will use new instructions. Change-Id: I2ce756f494647337503f639a91de722f29f5788c
2015-06-19[platform][vexpress] SMP supportArve Hjønnevåg
Fix to compile with smp branch, and have secondary cpus enter lk first instead of returning directly to the non-secure startup location. Change-Id: Idb5b3ccf6d152de928cdb90313e042748e199693
2015-06-19[platform][generic-arm64] Fix to compile with lk smp branchArve Hjønnevåg
Change-Id: I5b160ffce74d7f132aad3473849678b768a126e8
2015-06-11[lib][sm] Add SM_ERR_PANIC error codeArve Hjønnevåg
Return SM_ERR_PANIC to non-secure os if lk halts Change-Id: I3e6495d83bc0856cbffa495c8642ee01ba3ced12
2015-05-21[platform] Add missing license headerMichael Ryleev
Change-Id: Idb266c86342b986af6fbf533e8b78264c9bfa5a4
2015-05-08[platform][generic-arm64] Support as many interrupts as the gic v2 spec allowsArve Hjønnevåg
Change-Id: I7b22b53181d755ccf73c813c60ae119fc16e6616
2015-04-29[platform][generic-arm64] Add generic arm64 platformArve Hjønnevåg
Change-Id: Iee6182e71718537c1594e7e354ccf6fa7302a73d
2015-04-17[platform][vexpress] Fix to build after rebaseArve Hjønnevåg
Change-Id: Ibb3b0c0abc0af5eb60601f8b34260572f9ba9dad
2015-04-17[platform][vexpress] Use ARM Generic TimerArve Hjønnevåg
Change-Id: I2b47a1f48ab4c1416fd429638d2589e5652060f4 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2015-04-17[platform][vexpress-a15] Really fix header define.Satya Popuri
Change-Id: I246a264982888e94d74f81d70e82d26becbafb8f Signed-off-by: Satya Popuri <popuri@google.com>
2015-04-17[platform][vexpress] Initialize kmap valloc range for vexpress-a15Satya Popuri
Initialize a virtual address allocation range for libkmap when MMU_RELOC is enabled. Change-Id: I2973d3fbe105387ce550b51fc96a75f3a38e321e Signed-off-by: Satya Popuri <popuri@google.com>
2015-04-17[platform][vexpress-a15] libsm support for secondary CPUs.Arve Hjønnevåg
Switch secondary CPUs to non-secure mode before jumping to secondary boot addr. Also enable non-secure interrupts on secondary CPUs so the non-secure OS can signal them. Change-Id: I28458624325499d03c54fa8a7efe4965e57c145b Signed-off-by: Arve Hjønnevåg <arve@android.com>
2015-04-17[platform][vexpress-a15] Boot secondary CPUs.Arve Hjønnevåg
Initialize interrupt controller and wait for a new boot location. Change-Id: Id555f8790b74060643f29333ce803752638154d8 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2015-04-17[platform][vexpress] Fix header define.Satya Popuri
Change-Id: Ia800b4911d4b32c9eece6669098634d15e3dab0b Signed-off-by: Satya Popuri <popuri@google.com>
2015-04-17[platform][vexpress-a15] libsm support.Arve Hjønnevåg
Don't initialize timers if compiled with libsm. Change-Id: Ie11b7e8110dbaa06b8f7000db893c5ef3ca03db7 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2015-04-17[platform][vexpress-a15] vexpress-a15 supportArve Hjønnevåg
Mostly copied from realview-pb Change-Id: Ie0a1f56699f2fcfcb7b1e8a35d669e9e587bb4cd Signed-off-by: Arve Hjønnevåg <arve@android.com>