)]}' { "commit": "af6447315c8534331513ca6b6556af661e0ba88b", "tree": "0f5b659bd92d8821951cbd98b132c454f6cee881", "parents": [ "a7521bd5d887bfd69d99a55a81416e38ba9ebc97" ], "author": { "name": "Stephan Gerhold", "email": "stephan@gerhold.net", "time": "Wed Dec 01 20:03:33 2021 +0100" }, "committer": { "name": "Stephan Gerhold", "email": "stephan@gerhold.net", "time": "Thu Feb 03 15:19:26 2022 +0100" }, "message": "feat(msm8916): setup hardware for non-secure world\n\nBooting e.g. Linux in the non-secure world does not work with the\nmsm8916 port yet because essential hardware is not made available to\nthe non-secure world. Add more platform initialization to:\n\n - Initialize the GICv2 and mark secure interrupts.\n Only secure SGIs/PPIs so far. Override the GICD_PIDR2_GICV2\n register address in platform_def.h to avoid a failing assert()\n because of a (hardware) mistake in Qualcomm\u0027s GICv2 implementation.\n\n - Make a timer frame available to the non-secure world.\n The \"Qualcomm Timer\" (QTMR) implements the ARM generic timer\n specification, so the standard defines (CNTACR_BASE etc)\n can be used.\n\n - Make parts of the \"APCS\" register region available to the\n non-secure world, e.g. for CPU frequency control implemented\n in Linux.\n\n - Initialize a platform-specific register to route all SMMU context\n bank interrupts to the non-secure interrupt pin, since all control\n of the SMMUs is left up to the non-secure world for now.\n\nChange-Id: Icf676437b8e329dead06658e177107dfd0ba4f9d\nSigned-off-by: Stephan Gerhold \u003cstephan@gerhold.net\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "1696b84d170177cb38a1ef26718c10580078ff72", "old_mode": 33188, "old_path": "plat/qti/msm8916/include/msm8916_mmap.h", "new_id": "406ae6b4e46d81e9e8bcd01c0aa4be6b23ad609c", "new_mode": 33188, "new_path": "plat/qti/msm8916/include/msm8916_mmap.h" }, { "type": "modify", "old_id": "4ad26dd832c27e86dd3a87e64e677c6a3946bbee", "old_mode": 33188, "old_path": "plat/qti/msm8916/include/platform_def.h", "new_id": "bfade70a3a631b8df9a391c7a80226c956aacbf6", "new_mode": 33188, "new_path": "plat/qti/msm8916/include/platform_def.h" }, { "type": "modify", "old_id": "a27549ead6229742ef4ce44fe9045a5320485afa", "old_mode": 33188, "old_path": "plat/qti/msm8916/msm8916_bl31_setup.c", "new_id": "9c4fd064439dd99d7746abda13f93bec2d60f8ae", "new_mode": 33188, "new_path": "plat/qti/msm8916/msm8916_bl31_setup.c" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "25a66282fec898ebf1f63bd45ee20fa8a517dbae", "new_mode": 33188, "new_path": "plat/qti/msm8916/msm8916_gicv2.c" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "99db0d360302806e9a3af58962a7e4d28be10071", "new_mode": 33188, "new_path": "plat/qti/msm8916/msm8916_gicv2.h" }, { "type": "modify", "old_id": "2d199e06163dc474efcd10651bb7d2c6a0019716", "old_mode": 33188, "old_path": "plat/qti/msm8916/platform.mk", "new_id": "21ea450a8c248876eac3b0f7c9166f374b698844", "new_mode": 33188, "new_path": "plat/qti/msm8916/platform.mk" } ] }