Commit graph

54 commits

Author SHA1 Message Date
Lucas Wei
b2d1f99d60 Rename first stage module list to vendor_kernel_boot.modules.load
Bug: 234554094
Signed-off-by: Lucas Wei <lucaswei@google.com>
Change-Id: Ie46ff0ef2db81169f519bc0266b8298a79712870
2022-06-15 10:12:47 +08:00
Lucas Wei
03495e41e2 Enable vendor_kernel_boot partition for gs201
- Disable dlkm ramdisk fragment from vendor_boot
 - Enable vendor_kernel_boot and OTA support
 - Set partition size to 64MB

Bug: 214409109
Change-Id: I4a6ee0b2f1c44a4d257cc51cf408f6f7cf295471
Signed-off-by: Lucas Wei <lucaswei@google.com>
2022-05-26 13:51:34 +00:00
Jaegeuk Kim
453105b5cc Revert "use erofs for RO partitions" am: 0c024a7f2b
Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs201/+/18494501

Change-Id: If2a1d4fde080cd0c838494812933196e1114abf2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-23 22:31:03 +00:00
Jaegeuk Kim
0c024a7f2b Revert "use erofs for RO partitions"
This reverts commit 554e90c439.

It turned out EROFS has app-launch time regression.

FS			Total image	App-launch	OTA size (MB)
			    size (MB)	    Time (AVG)
ext4			4040 (0%)	403.77		2252
erofs (compression)	2754 (-32%)	540.98 (+34%)	2528 (+12%)
erofs (no-compression)	4126 (+2%)	476.23 (+18%)	2277 (+1%)

Bug: 231934752
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: I33f68a426ff655a9282fec66c0fa54215954aa45
Merged-In: I33f68a426ff655a9282fec66c0fa54215954aa45
2022-05-23 21:00:19 +00:00
Martin Liu
14e8f21c6a Disable zone dma32
As HW doesn't have 32 bit address limitation, we can disable
zone dma32 to simplify memory management and improve performance.

Bug: 224535283
Test: boot, test basic wifi, faceauth, camera, UDFP features
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: Ia7c1098ddd4b91738702dd99552661dbe18cfaa5
2022-05-23 07:31:39 +00:00
Yichi Chen
09fd09985b Revert "Revert "[Gralloc] Remove the conditional configs for Gralloc"" am: 6155b7811a
Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs201/+/18329096

Change-Id: I32622d69436bce7ea3bff03180b87d885799eece
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 23:31:20 +00:00
Yichi Chen
6155b7811a Revert "Revert "[Gralloc] Remove the conditional configs for Gralloc""
This reverts commit 184562c0f8.

Reason for revert: The cache coherency shouldn't be reverted. This will cause the function break.

Change-Id: I9a62e507911a3eaed704f029546e81770ef3d199
2022-05-12 22:23:35 +00:00
Jay Wang
3257de1670 Revert "[Gralloc] Remove the conditional configs for Gralloc" am: 184562c0f8
Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs201/+/18310586

Change-Id: I03a0b0c52448be3874c4e6d28451073e74a252f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 07:05:13 +00:00
Jay Wang
184562c0f8 Revert "[Gralloc] Remove the conditional configs for Gralloc"
This reverts commit 15dd6c2272.

Reason for revert: Caused the power regression b/231537621

Change-Id: Ie8d74127a16cf0a938201cf5e1cb7a76fa9ade0e
2022-05-11 15:56:07 +00:00
Yichi Chen
d9ed4ff223 [Gralloc] Remove the conditional configs for Gralloc am: 15dd6c2272
Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs201/+/17987925

Change-Id: I046735b7c5018cebcb01a870e708eaef828f9fa4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-02 19:15:36 +00:00
Yichi Chen
15dd6c2272 [Gralloc] Remove the conditional configs for Gralloc
Since GRALLOC_VERSION control has been totally removed, the
corresponding conditional configs should be removed to avoid wrong
configurations.

Bug: 224911573
Test: gralloc sync function can work to avoid noise in tiktok
Change-Id: I7d48f0271a251dfef2abc13dea59b92c541a497e
2022-05-02 18:45:16 +00:00
Vincent Palomares
e6c32d5165 Add p10c10 perf setup script
Bug: 204892459
Test: none
Change-Id: Ic5e21f982ad8da2fe83279eaba7b8b31d3f8ff5a
Signed-off-by: Vincent Palomares <paillon@google.com>
2022-04-30 00:20:33 +00:00
Chung-Kai (Michael) Mei
7260497897 Revert "Enable load kernel modules in parallel"
Revert "fix path for i2c peripheral device"

Revert submission 17338969-gs201_parallel_load_enable

Reason for revert: b/229241620 RamdumpTest failed
Reverted Changes:
Ib0b4f19f4:Enable load kernel modules in parallel

Change-Id: I1dfea73fc9cd1549721201916fbf6e1184d56e56
2022-04-20 02:57:08 +00:00
chungkai
7bb2178bc3 Enable load kernel modules in parallel
Test: boot successfully
Bug: 223463247
Signed-off-by: chungkai <chungkai@google.com>
Change-Id: Ib0b4f19f46a029113bd71371e50c318218b517fd
2022-04-08 02:20:40 +00:00
Kyle Lin
2db72b9aee BoardConfig: Target arm v8.2a and A55
This will let bionic use 8.2a atomics which helps scudo locking.

Bug: 224756824
Test: build , boot and check by getprop

Change-Id: Ie5f55071af5b8aff293224665ca68942f3e86625
2022-04-05 18:00:59 +00:00
Martin Liu
3bcb448aea Keep minimium amount of swiotlb
Keep 2MB swiotlb for devices that not support 36bit access.

Bug: 226578178
Test: boot
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: I88deb288e326880b0328c06f5d1b32777cc1ccb9
2022-03-25 12:57:43 +00:00
Petri Gynther
19c92aa321 gs201: use prebuilt GKI boot.img for production builds
When $(TARGET_KERNEL_DIR) contains:
* boot.img
* boot-user.img

then use those as prebuilt boot images for the target build.

Note that debug kernels (e.g. $(TARGET_KERNEL_DIR)/kasan) only have
Image.lz4, so the debug build ends up building boot.img from source

Bug: 223663549
Change-Id: If9d2b1041108cec8fc0481e4b633502371d6f987
2022-03-24 16:53:48 +00:00
Martin Liu
b8b02bc357 set swiotlb as noforce
As dma devices are 36bit bounded, we don't need SWIOTLB
bounce buffers. Set swiotlb=noforce to disable this and
make the minimum amount of memory allocation.

Bug: 207573157
Test: check total memory and io_tlb_nslabs
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: I21eac64f57505c14e12fed50980aad4d818b34cb
2022-03-23 17:08:18 +08:00
Martin Liu
1c697c5df3 Enable page pinner
Enable page pinner to catch long pin pages' history so
we can root cause issues.

Bug: 224771748
Test: check kernel cmdline
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: I3b384d427ac0ba48841d9a13e8f5565d9a83fb72
2022-03-16 05:44:23 +00:00
Martin Liu
66fe1adedd sync RCU settings
sync RCU settings to improve overall RCU latency

Bug: 224756824
Test: check cmdline
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: I1d320a308009111a0598bbda3f5c5da9e447e17e
2022-03-16 01:00:26 +00:00
Martin Liu
e00a9b2099 Disable memcg
Pixel kernel don't use MEMCG, let's disable it to
minimize the overhead.

Bug: 224521042
Test: check cmdline
Signed-off-by: Martin Liu <liumartin@google.com>
Change-Id: I60681fb04e4f9a41814eda5988b6c1a0d4fb127c
2022-03-15 01:05:11 +00:00
Ramji Jiyani
f53de92c92 Pixel T launch devices: Enable system_dlkm
Set flags to enable system_dlkm dynmaic partition
for GKI Modules for T launch pixel devices.

Partition will be empty as of now but this adds
enough support to pass the vts for feature.

Bug: 222334390
Test: TH, manual build, Code testing gs101 & R6
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ic56dd711ab97f3ae993cc5c543fabc8cbe3f347c
Merged-In: Ic56dd711ab97f3ae993cc5c543fabc8cbe3f347c
2022-03-04 01:42:47 +00:00
Devin Moore
2b15c10b02 Build init_boot for new devices
Builds a new init_boot.img with the ramdisk that was previously in
boot.img.
Removes the ramdisk from boot.img.
Change fstab to make sure the /dev/block/by-name/init_boot_* entries are
created in first stage init for Verified Boot.
Add init_boot.img to the list of OTA images so it is picked up for OTA
updates.

Test: unpack_bootimg --boot_img=boot.img
Test: unpack_bootimg --boot_img=init_boot.img
Test: Build and boot new device with required bootloader changes
Bug: 211823573

Merged-In: Idbd700b17d862f48ea568d1274a6550b965763ea
Change-Id: Idbd700b17d862f48ea568d1274a6550b965763ea
2022-02-24 23:32:46 +00:00
Michael Wright
55730686f5 Revert "Revert "Turn on SELinux""
This reverts commit 077aaa107b.

Reason for revert: SELinux issues are fixed

Change-Id: I90f32b8b633988ab6f79606ac8464cbb07a861dd
2022-02-23 02:41:40 +00:00
Aurimas Liutikas
077aaa107b Revert "Turn on SELinux"
This reverts commit 3923566e2c.

Reason for revert: causing com.android.pixellogger crashes

Bug: 220935985
Change-Id: If97dd3585651167762890b98c2446f3b5222f9d4
2022-02-23 02:39:55 +00:00
Adam Shih
3923566e2c Turn on SELinux
Bug: 214923175
Test: Boot to home, OTA, adb connection, wifi, phone call, SMS, Bluetooth,
LTE, camera, video, audio, GPS, lock screen, sensor, fingerprint,
bugreport, no crash loops

Change-Id: I23adacc6f3d68becd86d238046a0458baacd122d
2022-02-22 01:27:53 +00:00
Andrew Scull
661151aa2b Remove BOARD_PREBUILT_PVMFWIMAGE from the common board config
The pvmfw image is included by setting PRODUCT_BUILD_PVMFW_IMAGE in
device.mk and there shouldn't be this prebuilt override.

Bug: 199717422
Test: build
Change-Id: I0ba022e7b222ff89a4b2f991900abb3b4589396c
2022-02-01 13:21:37 +00:00
Krzysztof Kosiński
d185483165 Fix builds where LyricCameraHAL is not present.
This file contained incorrect commented-out conditionals that
were apparently copied and pasted from somewhere. Fix them to
match gs101 configuration.

Bug: 212047904
Test: build master-without-vendor
Change-Id: Ibecd05d6e5cf1ee94be57203b63c6aec3cab8aa6
2022-01-26 15:53:11 +00:00
Robin Peng
bf4d3bf612 Migrate vendor_dlkm modules.blocklist from android side to kernel side
Moving vendor_dlkm.modules.blocklist to the source repo and picking to
/<DEVICE>-kernel, the development experience can be aligned between
Kernel and Android codebase.

Bug: 214017561
Change-Id: Ia9994121309a8a0e5a664b64c51ffb3ad9110747
2022-01-21 11:56:22 +00:00
Cole Faust
6cb8985947 Remove usage of intermediates-dir-for
intermediates-dir-for relies on several variables that
haven't been set at the time the board configuration
runs. The board configuration got around that by using
deferred expansion, but deferred expansion is something
that starlark doesn't support. Remove intermediates-dir-for
and switch to TARGET_RECOVERY_FSTAB_GENRULE.

Bug: 201700692
Test: m RBC_BOARD_CONFIG=1 nothing on gs201 products
Change-Id: I74bf8700161f6519d29b2b3634a286c4e758d136
2022-01-12 22:15:00 +00:00
Pat Tjin
ab3f2562aa Remove 64-bit-only configs and default to 64-bit-only
Remove option for _64 and default to 64-bit only builds.
Removes the (out of date) manifest_64 files.
Removes OMX since it is not supported for 64-bits.

Bug: 213924541
Test: Build, Boot, YouTube playback, Play store, Camera
Signed-off-by: Pat Tjin <pattjin@google.com>
Change-Id: I1e97903b598a2fff46d912a009b2bc73f1b0f466
2022-01-12 21:44:31 +00:00
Sasha Smundak
9cbef8afd5 Use soong_config_ macros to set Soong config variables.
Bug: 198503843
Test: treehugger
Merged-In: Ifd1aed04267d952a13cfd9b93933e500ba07dbad
Change-Id: I4fa1d4f3e1c5a965696f78244bcf58360e0ce1c7
2021-12-29 18:31:41 +00:00
Cyan_Hsieh
55f68d6310 gs201: Add pvmfw to AB_OTA_PARTITIONS
Bug: 209706293
Change-Id: I13f3f1c02dd6687226936b45852742701d185ced
2021-12-15 12:41:47 +08:00
Jaegeuk Kim
554e90c439 use erofs for RO partitions
Bug: 201348439
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Change-Id: I8607cff388ea13000b1002ef9cc52717a9a00469
2021-12-09 18:38:54 +00:00
Roger Wang
197e2a096b wifi: move configuration to project specific
In this commit, I remove project specific content.
For example, I remove p2p interface property,
supplicant service definition and board configurations.

Bug: 203635329
Test: check functionality and output as follows
$ adb shell ifconfig
Output: p2p-wlan0-0 Link encap:Ethernet

$ adb shell getprop wifi.direct.interface
p2p-dev-wlan0

Log output:
wl_cfgvendor_set_hal_started, HAL version: BCMDHD vendor HAL
wpa_supplicant: Configuration file '/data/vendor/wifi/wpa/wpa_supplicant.conf' -> '/data/vendor/wifi/wpa/wpa_supplicant.conf'
wpa_supplicant: Reading configuration file '/data/vendor/wifi/wpa/wpa_supplicant.conf'
wpa_supplicant: update_config=1
wpa_supplicant: eapol_version=1
wpa_supplicant: ap_scan=1
wpa_supplicant: fast_reauth=1
wpa_supplicant: pmf=1
wpa_supplicant: p2p_add_cli_chan=1
wpa_supplicant: oce=1
wpa_supplicant: sae_pwe=2
wpa_supplicant: Reading configuration file '/vendor/etc/wifi/wpa_supplicant_overlay.conf'
wpa_supplicant: sae_pwe=2
wpa_supplicant: driver_param='use_p2p_group_interface=1p2p_device=1'
wpa_supplicant: disable_scan_offload=1
wpa_supplicant: wowlan_triggers='any'

Change-Id: If18f13e7c4c8fc13fb68e50145cc407c91d3fa60
2021-11-15 09:20:32 +00:00
Long Ling
91d7dd17d2 upgrade to hwc3
Bug: 201321174
Change-Id: Ifa12a2174d82547b6708021a24a6e9cee6b66fd5
2021-11-12 04:39:24 +00:00
Konstantin Vyshetsky
067512ec32 Generate a separate fstab file for FIPS mode
Add a file "fstab.gs201-fips" alongside the existing "fstab.gs201" in
order to specify different encryption settings in FIPS mode.

"androidboot.fstab_suffix=gs201-fips" on the kernel command line will be
used to select the FIPS fstab when needed.

As the two fstabs should be otherwise identical, generate them from a
template file so that they will stay in sync.

Note that generating the fstabs requires that they be installed as build
system modules rather than via PRODUCT_COPY_FILES, which results in the
vendor_ramdisk copy of the fstabs being installed to system/etc rather
than /.  This shouldn't cause any problem, now that Android has been
updated to look for the fstab in this location too.

(cherry-pick from device/google/gs101)
Test: Boot to home screen with/without fips mode
Bug: 202417706
Signed-off-by: Konstantin Vyshetsky <vkon@google.com>
Change-Id: I8fdc1c9a91399816fa2d4c53f282d63e988ce7d5
2021-11-11 05:04:50 +00:00
Jaegeuk Kim
e8d42059e6 Deprecated ext4 for RW partitions: /persist
Bug: 200853457
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: I64bfce98dfa4565dff9a6fbfd6e2d843583e5e66
2021-10-07 18:50:12 -07:00
Sasha Smundak
af1d890dd7 Simplify the check.
Fixes: 198503238
Test: treehugger
Change-Id: Ibebbd199391aa4c207a3cd622791008aa412828c
2021-09-03 17:55:36 -07:00
Petri Gynther
e3c25c230c gs201: clean up kernel variables
1) remove TARGET_BOARD_KERNEL_HEADERS
2) remove TARGET_PREBUILT_KERNEL

Bug: 198654765
Change-Id: I3efff472e46be435fc0b845bf9b09b7d7a6311f1
2021-09-02 12:08:57 -07:00
Robert Lee
9b4560b850 Merge "audio: built-in Audio HAL" 2021-07-07 02:12:07 +00:00
Adam Shih
118707a05a make gs201 permissive
Bug: 192632804
Test: build and flash ROM with it being permissive
Change-Id: I54a2ff96466c5d9365ee7811a6f9c318f0a9e286
2021-07-05 14:51:55 +08:00
Carter Hsu
7be2643021 audio: built-in Audio HAL
Bug: 192799001
Test: build pass
Signed-off-by: Carter Hsu <carterhsu@google.com>
Change-Id: I836f0ce199a5184c8ae34e5cb2198f9317cf320f
2021-07-05 02:01:24 +00:00
Robin Peng
955f808124 Add a kernel module blocklist file
Kernel modules on the blocklist are not automatically loaded during
second stage init. Modules are often put on the blocklist if we want
them to get loaded only under certain circumstances.

Bug: 192241728
Change-Id: I05d55f8a2854619b92defcf3fb11cc2b87a8dab6
2021-06-30 03:54:19 +00:00
Robin Peng
5728c951c8 Read vendor_boot.modules.load and vendor_dlkm.modules.load
Previously, we copied all available kernel modules into the vendor_boot
ramdisk except for approx. 14 modules that we explicitly excluded.

Going forward, the kernel build will distribute the two additional files
vendor_boot.modules.load and vendor_dlkm.modules.load which define,
respectively, the lists of modules that should be loaded from
vendor_boot and vendor_dlkm.

The contents of the two *.modules.load files will be copied almost
verbatim into modules.load files in the respective images except for the
fact that the directory names of the .ko files are stripped. So, for
example, kernel/net/core/pktgen.ko becomes just pktgen.ko.

Additionally, we only copy those .ko files into the vendor_boot image
that are listed in vendor_boot.modules.load. On the other hand, the
vendor_dlkm partition image will contain all .ko files regardless of
whether they are listed in vendor_dlkm.modules.load.

Bug: 190652328
Change-Id: I6fc41a0143e7253f193cac509ba30506feb4e2d9
2021-06-30 03:54:09 +00:00
Robin Peng
8f884f0db7 gs201: migrate to bootimg header v4 (second attempt)
We migrate to bootimg header v4 and build the following two vendor
ramdisk fragments.

Type: Platform, Name: "", Contents: Everything but kernel modules
Type: DLKM, Name: "dlkm", Contents: Kernel modules (incl. modules.load etc.)

Bug: 192240132
Change-Id: I59d0d5ec89953428e163b54d2fc3e3c3e9da7188
2021-06-28 22:21:36 +08:00
Jesse Hall
7326ba359c Add mali_pixel.ko to vendor_dlkm
Bug: 190389925
Test: boot to home, lsmod | grep mali_pixel
Change-Id: I97e6d824caecdde4ad26eedf4cb457407dce0813
2021-06-07 22:58:47 -07:00
Jesse Hall
ee3c76e93a Remove GPU module and firmware from ramdisk
They aren't needed for first-stage boot, and can be loaded from
`/vendor` and `/vendor_dlkm`.

Bug: 189506395
Test: boot to home
Change-Id: Ib4c708c8631586cf25e1535035b8bc81f727ef5f
2021-06-07 13:27:49 -07:00
Jesse Hall
2b48a89ece Switch back to GPU
Bug: 188817759
Test: boot to homescreen
Change-Id: If30ea44a04453170bc9d14607deea513ee16a94f
2021-05-27 11:06:45 -07:00
Pat Tjin
154bd667c8 Use only gs201 sepolicy
Bug: 186836335
Signed-off-by: Pat Tjin <pattjin@google.com>
Change-Id: I0d8e8b9ec08900b99c0f87208a5ea095020605a7
2021-05-20 17:49:09 -07:00