Commit Graph

1146323 Commits

Author SHA1 Message Date
jianzhou
5eefc0e780 Merge keystone/android14-6.1-keystone-qcom-release.6.1.1 (925907e) into msm-pineapple
* refs/heads/tmp-925907e:
  ANDROID: GKI: Remove CONFIG_LOCALVERSION="-mainline" on 6.1 branch
  ANDROID: gki_defconfig: sample large page_alloc allocations with HW_TAGS KASAN
  FROMLIST: kasan: allow sampling page_alloc allocations for HW_TAGS
  ANDROID: fscrypt, blk-crypto: drop HW-wrapped key compatibility check
  ANDROID: GKI: Enable CONFIG_NF_CONNTRACK_PROCFS
  ANDROID: mm: arm64: Allow remapping logical mappings as uncached
  ANDROID: fuse-bpf: Fix crash from assuming iter is kvec
  ANDROID: fuse-bpf: Add /sys/fs flags for fuse-bpf version
  ANDROID: fuse-bpf: Make sure to declare functions
  ANDROID: fuse-bpf v1.1
  ANDROID: KVM: arm64: Add helper for pKVM modules addr conversion
  ANDROID: timer: Add vendor hook for timer calc index
  ANDROID: KVM: arm64: Fix calculation for number of relocs in .hyp.reloc
  ANDROID: KVM: arm64: Ignore modules with empty .hyp.text section
  Revert "ANDROID: KVM: arm64: Make gen-hyprel emit delimiters"
  ANDROID: KVM: arm64: Resolve hyp module addresses using ELF sections
  ANDROID: dma-buf: Add vendorhook to allow mmaping more memory than a DMA-BUF holds
  ANDROID: fips140: add fips140_lab_util program
  ANDROID: fips140: add kernel crypto module
  ANDROID: arm64: simd: omit capability check in may_use_simd()
  ANDROID: arm64: disable LSE when building the FIPS140 module
  ANDROID: arm64: only permit certain alternatives in the FIPS140 module
  ANDROID: jump_label: disable jump labels in fips140.ko
  ANDROID: crypto: define fips_enabled to 1 in fips140.ko
  ANDROID: crypto: lib/aes - add vendor hooks for AES library routines
  ANDROID: crypto: lib/sha256 - add vendor hook for sha256() routine
  ANDROID: kbuild: customize module linker script for fips140 module
  ANDROID: GKI: Remove usage of __GENKSYMS__ in vendor hooks source
  ANDROID: iommu: Add vendor hook to alloc_iova()
  ANDROID: iommu: Add vendor hook to select alloc_iova algorithm
  ANDROID: iommu: Add a vendor field in iova_domain
  ANDROID: usb: gadget: f_accessory: update SS/SSP descriptors
  ANDROID: kbuild: Search external devicetree path when running clean target
  Revert "ANDROID: KVM: arm64: Coalesce host stage2 entries on ownership reclaim"
  ANDROID: KVM: arm64: Keep the pKVM private range under 1GiB
  ANDROID: KVM: arm64: Specify stage-2-protected regions in DT
  ANDROID: KVM: arm64: Introduce concept of pKVM moveable regions
  ANDROID: KVM: arm64: Correctly flag MMIO pages as PKVM_PAGE_RESTRICTED_PROT
  ANDROID: KVM: arm64: Introduce default_host_prot()
  ANDROID: KVM: arm64: Introduce a hyp panic module notifier
  ANDROID: KVM: arm64: Expose linear map APIs to pKVM modules
  ANDROID: scheduler: add vendor-specific wake flag
  ANDROID: Add a vendor hook that allow a module to modify the wake flag
  ANDROID: futex: Add vendor hook for wait queue
  ANDROID: rwsem: Add vendor hook to the rw-semaphore
  FROMLIST: sched/pelt: Introduce PELT multiplier
  ANDROID: GKI: Export clocksource_mmio_init
  ANDROID: update "fscrypt: add support for hardware-wrapped keys" to v7
  ANDROID: update "dm: add support for passing through derive_sw_secret"
  ANDROID: update "block: add basic hardware-wrapped key support" to v7
  ANDROID: dm-default-key: update for blk-crypto changes
  UPSTREAM: blk-crypto: Add a missing include directive
  UPSTREAM: blk-crypto: move internal only declarations to blk-crypto-internal.h
  BACKPORT: blk-crypto: add a blk_crypto_config_supported_natively helper
  BACKPORT: blk-crypto: don't use struct request_queue for public interfaces
  f2fs: let's avoid panic if extent_tree is not created
  f2fs: should use a temp extent_info for lookup
  f2fs: don't mix to use union values in extent_info
  f2fs: initialize extent_cache parameter
  f2fs: fix to avoid NULL pointer dereference in f2fs_issue_flush()
  ANDROID: update the BRANCH constant
  ANDROID: inline isolate_and_split_free_page
  ANDROID: mm: compaction: fix isolate_and_split_free_page() redefinition
  ANDROID: implement wrapper for reverse migration
  ANDROID: KVM: Remove function_nocfi() leftover in pKVM modules
  ANDROID: KVM: arm64: Always declare pKVM module loading functions
  ANDROID: GKI: Source GKI_BUILD_CONFIG_FRAGMENT after setting all variables
  ANDROID: cpuidle: export cpuidle_driver_state_disabled
  UPSTREAM: mm/madvise: fix madvise_pageout for private file mappings
  ANDROID: KVM: arm64: Allow trap handling from pKVM modules
  ANDROID: KVM: arm64: Notify pKVM modules of PSCI events
  ANDROID: KVM: arm64: Allow handling illegal aborts from pKVM modules
  ANDROID: KVM: arm64: Allow SMC handling from pKVM modules
  fscrypt: add additional documentation for SM4 support
  fscrypt: remove unused Speck definitions
  fscrypt: Add SM4 XTS/CTS symmetric algorithm support
  blk-crypto: Add support for SM4-XTS blk crypto mode
  blk-crypto: pass a gendisk to blk_crypto_sysfs_{,un}register
  fscrypt: add comment for fscrypt_valid_enc_modes_v1()
  blk-crypto: Add a missing include directive
  blk-crypto: move internal only declarations to blk-crypto-internal.h
  blk-crypto: add a blk_crypto_config_supported_natively helper
  blk-crypto: don't use struct request_queue for public interfaces
  fscrypt: pass super_block to fscrypt_put_master_key_activeref()
  Linux 6.1.1
  KEYS: encrypted: fix key instantiation with user-provided data
  cifs: fix oops during encryption
  usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system for Raptor Lake
  usb: typec: ucsi: Resume in separate work
  igb: Initialize mailbox message for VF reset
  staging: r8188eu: fix led register settings
  xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
  ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
  USB: serial: f81534: fix division by zero on line-speed change
  USB: serial: f81232: fix division by zero on line-speed change
  USB: serial: cp210x: add Kamstrup RF sniffer PIDs
  USB: serial: option: add Quectel EM05-G modem
  usb: gadget: uvc: Prevent buffer overflow in setup handler
  udf: Fix extending file within last block
  udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
  udf: Fix preallocation discarding at indirect extent boundary
  udf: Discard preallocation before extending file with a hole
  irqchip/ls-extirq: Fix endianness detection
  mips: ralink: mt7621: do not use kzalloc too early
  mips: ralink: mt7621: soc queries and tests as functions
  mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem
  PCI: mt7621: Add sentinel to quirks table
  libbpf: Fix uninitialized warning in btf_dump_dump_type_data
  x86/vdso: Conditionally export __vdso_sgx_enter_enclave()
  Revert "ANDROID: GKI: remove CONFIG_CMDLINE_EXTEND from arm64 gki_defconfig"
  ANDROID: Revert "arm64: Drop support for CMDLINE_EXTEND"
  ANDROID: of: Support CONFIG_CMDLINE_EXTEND config option
  FROMGIT: asm-generic/io: Add _RET_IP_ to MMIO trace for more accurate debug info
  ANDROID: firmware_loader: Add support for customer firmware paths
  ANDROID: GKI: Enable CONFIG_RT_SOFTIRQ_AWARE_SCHED
  FROMLIST: trace: Add trace points for tasklet entry/exit
  FROMLIST: softirq: defer softirq processing to ksoftirqd if CPU is busy with RT
  FROMLIST: sched: Avoid placing RT threads on cores handling long softirqs
  FROMLIST: softirq: Add generic accessor to percpu softirq_pending data
  ANDROID: sched/cpuset: Add vendor hook to change tasks affinity
  ANDROID: cpuset: Make cpusets restore on hotplug
  fsverity: simplify fsverity_get_digest()
  fsverity: stop using PG_error to track error status
  f2fs: reset wait_ms to default if any of the victims have been selected
  f2fs: fix some format WARNING in debug.c and sysfs.c
  f2fs: don't call f2fs_issue_discard_timeout() when discard_cmd_cnt is 0 in f2fs_put_super()
  f2fs: fix iostat parameter for discard
  f2fs: Fix spelling mistake in label: free_bio_enrty_cache -> free_bio_entry_cache
  f2fs: add block_age-based extent cache
  f2fs: allocate the extent_cache by default
  f2fs: refactor extent_cache to support for read and more
  f2fs: remove unnecessary __init_extent_tree
  f2fs: move internal functions into extent_cache.c
  f2fs: specify extent cache for read explicitly
  f2fs: introduce f2fs_is_readonly() for readability
  f2fs: remove F2FS_SET_FEATURE() and F2FS_CLEAR_FEATURE() macro
  f2fs: do some cleanup for f2fs module init
  MAINTAINERS: Add f2fs bug tracker link
  f2fs: remove the unused flush argument to change_curseg
  f2fs: open code allocate_segment_by_default
  f2fs: remove struct segment_allocation default_salloc_ops
  f2fs: introduce discard_urgent_util sysfs node
  f2fs: define MIN_DISCARD_GRANULARITY macro
  f2fs: init discard policy after thread wakeup
  f2fs: avoid victim selection from previous victim section
  f2fs: truncate blocks in batch in __complete_revoke_list()
  f2fs: make __queue_discard_cmd() return void
  f2fs: fix description about discard_granularity node
  f2fs: move set_file_temperature into f2fs_new_inode
  f2fs: fix to enable compress for newly created file if extension matches
  f2fs: set zstd compress level correctly
  f2fs: change type for 'sbi->readdir_ra'
  f2fs: cleanup for 'f2fs_tuning_parameters' function
  f2fs: fix to alloc_mode changed after remount on a small volume device
  f2fs: remove submit label in __submit_discard_cmd()
  f2fs: fix to do sanity check on i_extra_isize in is_alive()
  f2fs: introduce F2FS_IOC_START_ATOMIC_REPLACE
  f2fs: fix to set flush_merge opt and show noflush_merge
  f2fs: initialize locks earlier in f2fs_fill_super()
  f2fs: optimize iteration over sparse directories
  f2fs: fix to avoid accessing uninitialized spinlock
  f2fs: correct i_size change for atomic writes
  f2fs: add proc entry to show discard_plist info
  f2fs: allow to read node block after shutdown
  f2fs: replace ternary operator with max()
  f2fs: replace gc_urgent_high_remaining with gc_remaining_trials
  f2fs: add missing bracket in doc
  f2fs: use sysfs_emit instead of sprintf
  f2fs: introduce gc_mode sysfs node
  f2fs: fix to destroy sbi->post_read_wq in error path of f2fs_fill_super()
  f2fs: fix return val in f2fs_start_ckpt_thread()
  f2fs: fix the msg data type
  f2fs: fix the assign logic of iocb
  f2fs: Fix typo in comments
  f2fs: introduce max_ordered_discard sysfs node
  f2fs: allow to set compression for inlined file
  f2fs: add barrier mount option
  f2fs: fix normal discard process
  f2fs: cleanup in f2fs_create_flush_cmd_control()
  f2fs: fix gc mode when gc_urgent_high_remaining is 1
  f2fs: remove batched_trim_sections node
  f2fs: support fault injection for f2fs_is_valid_blkaddr()
  f2fs: fix to invalidate dcc->f2fs_issue_discard in error path
  f2fs: Fix the race condition of resize flag between resizefs
  f2fs: let's avoid to get cp_rwsem twice by f2fs_evict_inode by d_invalidate
  f2fs: should put a page when checking the summary info
  ANDROID: GKI: Update GKI modules protected exports
  ANDROID: GKI: Add list of protected GKI modules
  ANDROID: GKI: Only protect exports if KMI symbols are present
  ANDROID: GKI: Protect exports of protected GKI modules
  UPSTREAM: crypto: algboss - compile out test-related code when tests disabled
  UPSTREAM: crypto: kdf - silence noisy self-test
  UPSTREAM: crypto: kdf - skip self-test when tests disabled
  UPSTREAM: crypto: api - compile out crypto_boot_test_finished when tests disabled
  UPSTREAM: crypto: algboss - optimize registration of internal algorithms
  UPSTREAM: crypto: api - optimize algorithm registration when self-tests disabled
  ANDROID: KVM: arm64: Add support for non-cacheable mappings
  ANDROID: KVM: arm64: Don't filter out KVM_FUNC_MMIO_GUARD_MAP hypercalls
  ANDROID: KVM: arm64: Coalesce host stage2 entries on ownership reclaim
  ANDROID: KVM: arm64: Move kvm_pte_table to the common header
  ANDROID: KVM: arm64: Have different callbacks for PTE manipulation
  ANDROID: KVM: arm64: Move PTE attributes definitions to the common header
  ANDROID: KVM: arm64: Split stage2_put_pte function
  ANDROID: KVM: arm64: Pass the pagetable struct as an argument to the freewalker
  ANDROID: KVM: arm64: Fix link with CONFIG_MODULES=n
  ANDROID: KVM: arm64: Fix build with CONFIG_MODULES=n
  ANDROID: KVM: arm64: Block module loading based on cmdline or HVC
  ANDROID: KVM: arm64: Support unaligned fixmap in the nVHE hyp
  ANDROID: KVM: arm64: Add support for custom hypercall registration
  ANDROID: KVM: arm64: Return a token for a pKVM module registration
  ANDROID: KVM: arm64: Introduce hyp_protect_host_page()
  ANDROID: KVM: arm64: Add a permission fault handler
  ANDROID: KVM: arm64: Introduce PKVM_PAGE_RESTRICTED_PROT
  ANDROID: KVM: arm64: Expose kvm_flush_dcache_to_poc() in module_ops
  ANDROID: KVM: arm64: Expose hyp fixmap helpers in module_ops
  ANDROID: KVM: arm64: Expose puts and putx64 in pKVM ABI
  ANDROID: KVM: arm64: Add serial framework for pKVM
  ANDROID: KVM: arm64: Expose __pkvm_create_private_mapping to pKVM modules
  ANDROID: KVM: arm64: Include .note.gnu.property in .hyp.rodata
  ANDROID: KVM: arm64: Allow loading modules to the pKVM hypervisor
  ANDROID: KVM: arm64: Refactor nvhe Makefile
  ANDROID: KVM: arm64: Make gen-hyprel emit delimiters
  ANDROID: KVM: arm64: Move gen-hyprel into a tool directory
  ANDROID: KVM: arm64: Add mapping removal interface for nVHE hyp
  ANDROID: arm64: patching: Add aarch64_addr_write()
  ANDROID: arm64: patching: Refactor __aarch64_insn_write()
  ANDROID: KVM: arm64: Use correct pkvm owners type
  ANDROID: KVM: arm64: s2mpu: S2MPU V9 code
  ANDROID: KVM: arm64: s2mpu: Add MMIO and defines for V9 S2MPU
  ANDROID: KVM: arm64: s2mpu: rename versions to match major arch
  ANDROID: KVM: arm64: s2mpu: Abstract register initialization with version_ops
  ANDROID: KVM: arm64: s2mpu: Pass driver version during init
  ANDROID: KVM: arm64: s2mpu: Add SMPT and MPT functions to pgtable abstraction
  ANDROID: KVM: arm64: s2mpu: Abstract page table ops
  ANDROID: KVM: arm64: iommu: Support dynamic driver registration in IOMMU layer
  ANDROID: KVM: arm64: Use 32-bit function ID for PSCI MEM_PROTECT call
  Revert "ANDROID: virtio_balloon: New module parameter "pkvm""
  ANDROID: KVM: arm64: s2mpu: Fix SYNC latency regression
  ANDROID: KVM: arm64: iommu: Add host_stage2_idmap_complete
  ANDROID: KVM: arm64: Don't update IOMMUs unnecessarily
  ANDROID: KVM: arm64: s2mpu: Add SysMMU_SYNC timeout
  ANDROID: KVM: arm64: s2mpu: Allow r/o access to control regs
  ANDROID: KVM: arm64: s2mpu: Allow reading MPTC entries
  ANDROID: KVM: arm64: s2mpu: Allow L1ENTRY_* r/o access
  ANDROID: KVM: arm64: s2mpu: Refactor DABT handler
  ANDROID: KVM: arm64: s2mpu: Extract L1ENTRY_* consts
  ANDROID: KVM: arm64: s2mpu: Initialize MPTs to PROT_RW
  ANDROID: KVM: arm64: iommu: Optimize snapshot_host_stage2
  ANDROID: KVM: arm64: iommu: Fix upper bound of PT walk
  ANDROID: KVM: arm64: iommu: Add pkvm_iommu_finalize
  ANDROID: KVM: arm64: iommu: No powered check in DABT handler
  ANDROID: KVM: arm64: s2mpu: Create SysMMU_SYNC driver
  ANDROID: KVM: arm64: iommu: Create parent/child relation
  ANDROID: KVM: arm64: iommu: Run validate() on struct pkvm_iommu
  ANDROID: KVM: arm64: iommu: Create private mapping last
  ANDROID: KVM: arm64: iommu: Free memory on registration error
  ANDROID: KVM: arm64: iommu: Harden __pkvm_iommu_pm_notify
  ANDROID: KVM: arm64: Remove unused IOMMU hooks, kvm_iommu_ops
  ANDROID: KVM: arm64: s2mpu: Implement host stage2 idmap callbacks
  ANDROID: KVM: arm64: s2mpu: Move mpt_update_flags into FMPT
  ANDROID: KVM: arm64: s2mpu: Replace DABT handler with callback
  ANDROID: KVM: arm64: s2mpu: Replace SMC handler with PM callbacks
  ANDROID: KVM: arm64: s2mpu: Add driver initializer
  ANDROID: KVM: arm64: s2mpu: Remove host_stage2_adjust_mmio_range
  ANDROID: KVM: arm64: s2mpu: Replace struct s2mpu with pkvm_iommu
  ANDROID: KVM: arm64: s2mpu: Remove all EL1 code
  ANDROID: KVM: arm64: s2mpu: Move SFR init to EL2
  ANDROID: KVM: arm64: iommu: Snapshot host stage-2 at driver init
  ANDROID: KVM: arm64: iommu: Host stage-2 idmap callbacks
  ANDROID: KVM: arm64: iommu: DABT handler callback
  ANDROID: KVM: arm64: iommu: Suspend/resume callbacks
  ANDROID: KVM: arm64: iommu: Register device hypcall
  ANDROID: KVM: arm64: iommu: Avoid mapping devices in host stage-2
  ANDROID: KVM: arm64: iommu: Driver initialization hypcall
  ANDROID: KVM: arm64: Fix host MMIO DABT handler IPA
  ANDROID: KVM: arm64: Wait on S2MPU.STATUS after invalidation
  ANDROID: KVM: arm64: Remove kernel-doc in S2MPU driver
  ANDROID: KVM: arm64: Initialize pkvm_pgtable.mm_ops earlier
  ANDROID: KVM: arm64: Mark select_iommu_ops static
  ANDROID: Enable KVM_S2MPU in gki_defconfig
  ANDROID: KVM: arm64: Unmap S2MPU MMIO registers from host stage-2
  ANDROID: KVM: arm64: Implement MMIO handler in S2MPU driver
  ANDROID: KVM: arm64: Modify S2MPU MPT in 'host_stage2_set_owner'
  ANDROID: KVM: arm64: Set up S2MPU Memory Protection Table
  ANDROID: KVM: arm64: Reprogram S2MPUs in 'host_smc_handler'
  ANDROID: KVM: arm64: Enable S2MPUs in __pkvm_init_stage2_iommu
  ANDROID: KVM: arm64: Copy S2MPU configuration to hyp
  ANDROID: KVM: arm64: Implement IRQ handler for S2MPU faults
  ANDROID: KVM: arm64: Allocate context IDs for valid VIDs
  ANDROID: KVM: arm64: Read and check S2MPU_VERSION
  ANDROID: KVM: arm64: Parse S2MPU MMIO region
  ANDROID: KVM: arm64: Create empty S2MPU driver
  ANDROID: KVM: arm64: Add 'host_stage2_adjust_mmio_range' to kvm_iommu_ops
  ANDROID: KVM: arm64: Add 'host_mmio_dabt_handler' to kvm_iommu_ops
  ANDROID: KVM: arm64: Add 'host_stage2_set_owner' to kvm_iommu_ops
  ANDROID: KVM: arm64: Add 'host_smc_handler' to kvm_iommu_ops
  ANDROID: KVM: arm64: Introduce IOMMU driver infrastructure
  ANDROID: KVM: arm64: Update pKVM hyp state series to v6
  ANDROID: KVM: arm64: Add protected_shared_mem statistic
  ANDROID: KVM: arm64: count KVM s2 mmu usage in nVHE protected mode
  ANDROID: KVM: arm64: Add protected_hyp_mem VM statistic
  ANDROID: KVM: arm64: Fix sparse __percpu warning
  ANDROID: KVM: arm64: Relax SMCCC version check during FF-A proxy init
  ANDROID: KVM: arm64: Increase size of FF-A buffer
  BACKPORT: FROMLIST: KVM: arm64: pkvm: Add support for fragmented FF-A descriptors
  FROMLIST: KVM: arm64: Handle FFA_MEM_LEND calls from the host
  FROMLIST: KVM: arm64: Handle FFA_MEM_RECLAIM calls from the host
  FROMLIST: KVM: arm64: Handle FFA_MEM_SHARE calls from the host
  BACKPORT: FROMLIST: KVM: arm64: Add FF-A helpers to share/unshare memory with secure world
  FROMLIST: KVM: arm64: Handle FFA_RXTX_MAP and FFA_RXTX_UNMAP calls from the host
  FROMLIST: KVM: arm64: Allocate pages for hypervisor FF-A mailboxes
  FROMLIST: KVM: arm64: Handle FFA_FEATURES call from the host
  BACKPORT: FROMLIST: KVM: arm64: Probe FF-A version and host/hyp partition ID during init
  FROMLIST: KVM: arm64: Block unsafe FF-A calls from the host
  FROMLIST: firmware: arm_ffa: Move comment before the field it is documenting
  FROMLIST: firmware: arm_ffa: Move constants to header file
  ANDROID: KVM: arm64: Issue CMOs when tearing down shadow pages
  ANDROID: KVM: arm64: Use PSCI MEM_PROTECT to zap guest pages on reset
  ANDROID: KVM: arm64: Check IPA range for pvmfw during guest donation
  ANDROID: KVM: arm64: Use fixmap when poisoning pvmfw pages
  ANDROID: KVM: arm64: Rename pkvm_clear_pvmfw_pages()
  ANDROID: KVM: arm64: Rename hyp_zero_page() and make available as helper
  ANDROID: KVM: arm64: Don't check for hyp_fixmap_map() returning NULL
  ANDROID: virtio_balloon: Do not clear VIRTIO_F_ACCESS_PLATFORM
  ANDROID: virtio_balloon: New module parameter "pkvm"
  ANDROID: KVM: arm64: Introduce kvm_has_memrelinquish_services
  ANDROID: KVM: arm64: Flush nVHE hyp_vcpu memcache
  ANDROID: KVM: arm64: Avoid unnecessary unmap walk in MEM_RELINQUISH hypercall
  ANDROID: KVM: arm64: Strictly check page type in MEM_RELINQUISH hypercall
  ANDROID: KVM: Include prototype for page_relinquish before definition
  ANDROID: arm64: ioremap/iounmap use stage-2 granule size
  ANDROID: arm64: Check if pfn is valid for all ioremap loop iterations
  ANDROID: arm64: Auto-enroll MMIO guard on protected vms
  ANDROID: KVM: arm64: Add some documentation for the MMIO guard feature
  ANDROID: KVM: arm64: Plumb MMIO checking into the fault handling
  ANDROID: KVM: arm64: pkvm: Wire MMIO guard hypercalls
  ANDROID: KVM: arm64: pkvm: Add MMIO guard infrastructure
  ANDROID: KVM: arm64: Introduce KVM_ARCH_FLAG_MMIO_GUARD flag
  ANDROID: KVM: arm64: Expose topup_hyp_memcache() to the rest of KVM
  ANDROID: KVM: arm64: Define MMIO guard hypercalls
  ANDROID: KVM: arm64: FAR_EL2 mask as a define
  ANDROID: KVM: arm64: Turn kvm_pgtable_stage2_set_owner into kvm_pgtable_stage2_annotate
  ANDROID: memory relinquish: Fix build dependencies
  ANDROID: KVM: arm64: Monitor Debug support for non-protected guests
  ANDROID: KVM: arm64: Factor out code for saving/restoring guest debug regs
  ANDROID: KVM: arm64: Flush the vcpu iflags for non-protected VMs
  ANDROID: virtio_balloon: Do not translate reported pages through DMA API
  ANDROID: KVM: arm64: balloon: Notify hyp before reporting free pages to host
  ANDROID: KVM: arm64: memory balloon: Notify hyp when ballooning
  ANDROID: Define mem_relinquish interface for releasing memory to a hypervisor.
  ANDROID: KVM: arm64: Implement MEM_RELINQUISH SMCCC hypercall
  ANDROID: KVM: arm64: Turn llist of pinned pages into an rb-tree
  FROMLIST: KVM: arm64: pkvm: Fixup boot mode to reflect that the kernel resumes from EL1
  ANDROID: KVM: arm64: Add .hyp.data section
  ANDROID: KVM: arm64: relay entropy requests from protected guests directly to secure
  ANDROID: KVM: arm64: Introduce KVM_CAP_ARM_PROTECTED_VM to set/query PVM firmware
  ANDROID: KVM: arm64: Reset primary vCPU according to PVM firmware boot protocol
  ANDROID: KVM: arm64: Copy pvmfw into guest pages during donation from the host
  ANDROID: KVM: arm64: Clear pvmfw pages on clean host shutdown
  ANDROID: KVM: arm64: Ignore length of 0 in kvm_flush_dcache_to_poc()
  ANDROID: KVM: arm64: Unmap PVM firmware from host stage-2 during de-privilege
  ANDROID: KVM: arm64: Parse reserved-memory node for pkvm guest firmware region
  ANDROID: Documentation: KVM: Add some documentation for Protected KVM on arm64
  ANDROID: BACKPORT: KVM: arm64: Introduce KVM_VM_TYPE_ARM_PROTECTED machine type for PVMs
  ANDROID: KVM: arm64: Expose memory sharing hypercalls to protected guests
  ANDROID: KVM: arm64: Reformat/beautify PTP hypercall documentation
  ANDROID: KVM: arm64: Document the KVM/arm64-specific calls in hypercalls.rst
  ANDROID: KVM: arm64: Rename firmware pseudo-register documentation file
  ANDROID: KVM: arm64: Extend memory sharing to allow guest-to-host transitions
  ANDROID: KVM: arm64: Avoid BBM when changing only s/w bits in Stage-2 PTE
  ANDROID: KVM: arm64: Support TLB invalidation in guest context
  ANDROID: KVM: arm64: Inject SIGSEGV on illegal accesses
  ANDROID: KVM: arm64: Refactor enter_exception64()
  ANDROID: KVM: arm64: Add is_pkvm_initialized() helper
  ANDROID: KVM: arm64: Don't expose TLBI hypercalls after de-privilege
  ANDROID: KVM: arm64: Handle PSCI for protected VMs in EL2
  ANDROID: KVM: arm64: Factor out vcpu_reset code for core registers and PSCI
  ANDROID: KVM: arm64: Move some kvm_psci functions to a shared header
  ANDROID: KVM: arm64: Move pstate reset values to kvm_arm.h
  ANDROID: KVM: arm64: Add HVC handling for protected guests at EL2
  ANDROID: KVM: arm64: Track the SVE state in the hypervisor vcpu structure
  ANDROID: KVM: arm64: Initialize hypervisor vm state at EL2
  ANDROID: KVM: arm64: Refactor kvm_vcpu_enable_ptrauth() for hyp use
  ANDROID: KVM: arm64: Do not update virtual timer state for protected VMs
  ANDROID: KVM: arm64: Move vgic state between host and hypervisor vcpu structures
  ANDROID: KVM: arm64: Add EL2 entry/exit handlers for pKVM guests
  ANDROID: KVM: arm64: Donate memory to protected guests
  ANDROID: KVM: arm64: Force injection of a data abort on NISV MMIO exit
  ANDROID: KVM: arm64: Advertise GICv3 sysreg interface to protected guests
  ANDROID: KVM: arm64: Fix initializing traps in protected mode
  ANDROID: KVM: arm64: Move pkvm_vcpu_init_traps to hyp vcpu init
  ANDROID: KVM: arm64: Reset sysregs for protected VMs
  ANDROID: KVM: arm64: Refactor reset_mpidr to extract its computation
  ANDROID: KVM: arm64: Do not support MTE for protected VMs
  ANDROID: KVM: arm64: Restrict protected VM capabilities
  ANDROID: KVM: arm64: Trap debug break and watch from guest
  ANDROID: KVM: arm64: Check directly whether the vcpu is protected
  ANDROID: KVM: arm64: Reduce host/hyp vcpu state copying
  ANDROID: KVM: arm64: Lazy host FP save/restore
  ANDROID: KVM: arm64: Reintroduce __sve_save_state
  ANDROID: KVM: arm64: Introduce lazy-ish state sync for non-protected VMs
  ANDROID: KVM: arm64: Introduce per-EC entry/exit handlers
  ANDROID: KVM: arm64: Ensure that TLBs and I-cache are private to each vcpu
  ANDROID: KVM: arm64: Add hyp per_cpu variable to track current physical cpu number
  ANDROID: KVM: arm64: Skip __kvm_adjust_pc() for protected vcpus
  ANDROID: KVM: arm64: Add current host and hyp vCPU lookup primitive
  ANDROID: KVM: arm64: Introduce the pkvm_vcpu_{load,put} hypercalls
  ANDROID: KVM: arm64: Add the {flush,sync}_hyp_timer_state() primitives
  ANDROID: KVM: arm64: Introduce predicates to check for protected state
  ANDROID: KVM: arm64: Add the {flush,sync}_hyp_vgic_state() primitives
  ANDROID: KVM: arm64: Simplify vgic-v3 hypercalls
  ANDROID: KVM: arm64: Make vcpu_{read,write}_sys_reg available to HYP code
  ANDROID: KVM: arm64: Split up nvhe/fixed_config.h
  ANDROID: KVM: arm64: Extend memory donation to allow host-to-guest transitions
  ANDROID: KVM: arm64: Handle guest stage-2 page-tables entirely at EL2
  ANDROID: KVM: arm64: Disallow dirty logging and RO memslots with pKVM
  ANDROID: KVM: arm64: Do not allow memslot changes after first VM run under pKVM
  ANDROID: KVM: arm64: Check for PTE validity when checking for executable/cacheable
  ANDROID: KVM: arm64: Extend memory sharing to allow host-to-guest transitions
  ANDROID: KVM: arm64: Provide a hypercall for the host to reclaim guest memory
  ANDROID: KVM: arm64: Add PC_UPDATE_REQ flags covering all PC updates
  ANDROID: KVM: arm64: Add vcpu flag copy primitive
  ANDROID: KVM: arm64: Repurpose a byte of 'order' for flags in 'struct hyp_page'
  FROMLIST: KVM: arm64: Use the pKVM hyp vCPU structure in handle___kvm_vcpu_run()
  FROMLIST: KVM: arm64: Don't unnecessarily map host kernel sections at EL2
  FROMLIST: KVM: arm64: Explicitly map 'kvm_vgic_global_state' at EL2
  FROMLIST: KVM: arm64: Maintain a copy of 'kvm_arm_vmid_bits' at EL2
  FROMLIST: KVM: arm64: Unmap 'kvm_arm_hyp_percpu_base' from the host
  FROMLIST: BACKPORT: KVM: arm64: Return guest memory from EL2 via dedicated teardown memcache
  FROMLIST: KVM: arm64: Instantiate guest stage-2 page-tables at EL2
  FROMLIST: KVM: arm64: Consolidate stage-2 initialisation into a single function
  FROMLIST: KVM: arm64: Add generic hyp_memcache helpers
  FROMLIST: KVM: arm64: Provide I-cache invalidation by virtual address at EL2
  FROMLIST: KVM: arm64: Initialise hypervisor copies of host symbols unconditionally
  FROMLIST: KVM: arm64: Add per-cpu fixmap infrastructure at EL2
  FROMLIST: KVM: arm64: Instantiate pKVM hypervisor VM and vCPU structures from EL1
  FROMLIST: KVM: arm64: Add infrastructure to create and track pKVM instances at EL2
  FROMLIST: KVM: arm64: Rename 'host_kvm' to 'host_mmu'
  FROMLIST: KVM: arm64: Add hyp_spinlock_t static initializer
  FROMLIST: KVM: arm64: Include asm/kvm_mmu.h in nvhe/mem_protect.h
  FROMLIST: KVM: arm64: Add helpers to pin memory shared with the hypervisor at EL2
  FROMLIST: KVM: arm64: Prevent the donation of no-map pages
  FROMLIST: KVM: arm64: Implement do_donate() helper for donating memory
  FROMLIST: KVM: arm64: Unify identifiers used to distinguish host and hypervisor
  FROMLIST: KVM: arm64: Fix-up hyp stage-1 refcounts for all pages mapped at EL2
  FROMLIST: KVM: arm64: Back the hypervisor 'struct hyp_page' array for all memory
  FROMLIST: KVM: arm64: Allow attaching of non-coalescable pages to a hyp pool
  FROMLIST: KVM: arm64: Move hyp refcount manipulation helpers to common header file
  ANDROID: arm64: Register earlycon fixmap with the MMIO guard
  ANDROID: arm64: Add a helper to retrieve the PTE of a fixmap
  ANDROID: BACKPORT: arm64: Enroll into KVM's MMIO guard if required
  ANDROID: BACKPORT: arm64: Implement ioremap/iounmap hooks calling into KVM's MMIO guard
  ANDROID: mm/vmalloc: Add arch-specific callbacks to track io{remap,unmap} physical pages
  ANDROID: BACKPORT: arm64: mm: Implement memory encryption API using KVM sharing hypercalls
  ANDROID: drivers: hv: Include memory encryption header
  FROMLIST: firmware/smccc: Call arch-specific hook on discovering KVM services
  ANDROID: GKI: Enable CONFIG_CFI_CLANG

 Conflicts:
	drivers/android/vendor_hooks.c
	include/linux/compaction.h
	include/trace/hooks/timer.h
	mm/compaction.c

Change-Id: Ie45fe12a1d6b67f4edb8c23ebb4409754b063385
Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@9501271 UKQ2.230118.001
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>#
2023-02-21 21:29:07 -08:00
jianzhou
aaf0584234 Revert "ANDROID: dma-buf: Add vendorhook to allow mmaping more memory than a DMA-BUF holds"
This reverts commit 8a0c17585f. It was a
placeholder change that was soon supplanted by a more formal change
accepted upstream.

Change-Id: I0cb7dc5f9777f210bd1d129f1a9d2a88ae7f8aab
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
2023-02-21 18:24:57 -08:00
qctecmdr
e07d17efa3 Merge "soc: qcom: llcc: Update config data for Pineapple SoC" 2023-02-20 16:08:14 -08:00
qctecmdr
e41274f353 Merge "gunyah: rm: Bail gh_vm_check_peer early when there are no peers" 2023-02-20 06:26:28 -08:00
qctecmdr
eb63ef8112 Merge "wcd939x-usbss: Reset surge CPLDO control register and update pwr mode" 2023-02-20 03:18:18 -08:00
qctecmdr
63a8cca8c3 Merge "soc: qcom: llcc_perfmon: Fix crash issue with clock unprepare request" 2023-02-20 03:18:18 -08:00
qctecmdr
d711c697fc Merge "i2c: i2c-msm-geni: Do not add reg68 WAR unless stretch bit set" 2023-02-19 22:49:03 -08:00
qctecmdr
19901fc784 Merge "memshare: Snapshot of memshare driver" 2023-02-19 22:49:03 -08:00
qctecmdr
2c0d3e41c3 Merge "pinctrl: qcom: Add support to log pin status before suspend for TLMM" 2023-02-19 22:49:03 -08:00
qctecmdr
a7725ca705 Merge "drivers: qcom: qcom_stats: Add CX vote per DRV feature" 2023-02-19 22:49:03 -08:00
qctecmdr
6194c63508 Merge "gunyah: rm: Return EOPNOTSUPP for GH_ERROR_UNIMPLEMENTED" 2023-02-19 22:49:02 -08:00
qctecmdr
a3c11e4f30 Merge "input: qcom-hv-haptics: include last pattern in pattern length calculation" 2023-02-19 22:49:02 -08:00
qctecmdr
0d6a6ab412 Merge "soc: qcom: llcc_perfmon: Add support for ADDR_MASK filter" 2023-02-19 22:49:01 -08:00
Manoj Prabhu B
fac7f0190f memshare: Snapshot of memshare driver
Memshare driver snapshot from msm-5.15 branch
commit b61fba6e0b006 ("soc:qcom: fix to spinlock bad magic
on CPU#3").

Change-Id: Ie9069ef591cdf39259d40f551a7400973fde647e
Signed-off-by: Manoj Prabhu B <quic_bmanoj@quicinc.com>
2023-02-17 07:55:42 -08:00
qctecmdr
5266b52cab Merge "firmware: qcom_scm: Reduce prints around qcom_scm_halt_spmi_pmic_arbiter" 2023-02-17 02:36:38 -08:00
Satya Durga Srinivasu Prabhala
ed799e7f98 soc: qcom: llcc: Update config data for Pineapple SoC
Update config data per latest hardware settings for Pineapple SoC.

Change-Id: Ie9125b429398eae160eeda3df90e2b5cf3cd5c6d
Signed-off-by: Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>
2023-02-16 16:46:43 -08:00
Sam Rainey
0011f8302e wcd939x-usbss: Reset surge CPLDO control register and update pwr mode
1. Reset the CPLDO control register in case a negative surge
   event has occurred.
2. Cache power mode and update at the time of usecase setup.

Change-Id: Ib6060715bd92d743591b62f30da6e4cac5fbcb66
Signed-off-by: Sam Rainey <quic_rainey@quicinc.com>
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-02-16 11:20:31 -08:00
qctecmdr
6803e0459a Merge "msm_sysstats: Account introduction of for resv_start_op" 2023-02-16 09:41:39 -08:00
qctecmdr
2e60349cd4 Merge "gunyah: Fix crash in error print when hyp assign failed" 2023-02-16 05:06:51 -08:00
qctecmdr
128b64e67f Merge "soc: qcom: socinfo: Code clean-up" 2023-02-16 05:06:50 -08:00
qctecmdr
69cfd718fd Merge "dwc3: Add sysfs entry to enable test mode with xhci controller" 2023-02-16 05:06:50 -08:00
qctecmdr
50c563801e Merge "soc: qcom: minidump: Move module info dump to debug_symbol approach" 2023-02-16 05:06:50 -08:00
Mukesh Kumar Savaliya
f000592159 i2c: i2c-msm-geni: Do not add reg68 WAR unless stretch bit set
This change removes applied reg68 war from pending cancel operation
function and keep it in place only for stretch bit case. Since pending
cancel operation recovers the IOS line state with force default, we
don't need to run reg68 WAR.
As per the original stretch bit time issue, we should get ARB lost
error and hence execute the WAR only that time.

Change-Id: I6df856de9010e0a55fb78fceb63ffc29853f14c3
Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
2023-02-16 15:13:36 +05:30
qctecmdr
df5ad8fb18 Merge "qcom-dload-mode: Use SCM call to verify dload mode" 2023-02-16 00:11:42 -08:00
qctecmdr
058adaaf17 Merge "drivers: remoteproc: Change the sequence of voting down rails" 2023-02-16 00:11:41 -08:00
Minghao Zhang
47d2982d2e pinctrl: qcom: Add support to log pin status before suspend for TLMM
This change supports to print pin status before device suspend
to debug for TLMM. And expose APIs to enable/disable this debug
function.

Change-Id: If940700d0e72b48fb6b7edeceb3e1d02cb7d9965
Signed-off-by: Minghao Zhang <quic_minghao@quicinc.com>
2023-02-16 15:58:24 +08:00
yonliu
403a44f1b5 drivers: qcom: qcom_stats: Add CX vote per DRV feature
This change implements getting CX vote information per DRV
from MSGRAM. CX vote information could be to optimize power.

Change-Id: I4b4931df3180ce4ba420eb7b5711264f80a2ec4b
Signed-off-by: yonliu <quic_yonliu@quicinc.com>
2023-02-16 13:37:10 +08:00
Cong Zhang
3e8ed5e39d gunyah: Fix crash in error print when hyp assign failed
Give the correct argument in pr_err to fix the crash when hyp assign
failed when SVM bootup.

Change-Id: If074cebe9c523df280553a6a380016d13f151bef
Signed-off-by: Cong Zhang <quic_congzhan@quicinc.com>
2023-02-16 10:59:45 +08:00
Elliot Berman
c4e2e69551 firmware: qcom_scm: Reduce prints around qcom_scm_halt_spmi_pmic_arbiter
Remove superfluous logs in qcom_scm_halt_spmi_pmic_arbiter.

Change-Id: Ic8ef826312b6f07cf1351d17b561a330c6bf4eb6
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2023-02-15 16:39:02 -08:00
qctecmdr
8c6865b7f6 Merge "modules.list.msm.pineapple: Add BCL and thermal modules" 2023-02-15 14:55:04 -08:00
Elliot Berman
e43a980bf9 gunyah: rm: Bail gh_vm_check_peer early when there are no peers
gh_vm_check_peer() presently prints an error when there are no
qcom,peers that we failed to allocate memory. kcalloc(0, ...) returns
NULL, which is fine. Instead, check that peers_cnt is non-zero before
trying to kcalloc.

Change-Id: Id9a0677aae30190a243d325e02ab9965e897f936
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2023-02-15 13:25:13 -08:00
Elliot Berman
bf775133cd gunyah: rm: Add gh_rm_get_this_vmid
Add RM RPC call to retrieve VMID of this virtual machine.

Change-Id: I5fb83bb24062ece13dcb2ad6f30f50d900c15936
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2023-02-15 13:25:13 -08:00
Elliot Berman
767f37373e gunyah: rm: Return EOPNOTSUPP for GH_ERROR_UNIMPLEMENTED
EOPNOTSUPP is a better fit than EINVAL for GH_ERROR_UNIMPLEMENTED.

Change-Id: If5dc4819d8ddda02aeb1c95ae35df17cd7320bbf
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2023-02-15 13:23:02 -08:00
Elliot Berman
2b4fd9c013 gunyah: rm: Allow zero-length payload
Add support for zero-length RPC payloads. This aligns with calculation
done in
https://lore.kernel.org/all/20230214212327.3310128-1-quic_eberman@quicinc.com/

Change-Id: I5097ab8aff569dda8a7dbbcf6ae42c50b194a254
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2023-02-15 13:23:02 -08:00
qctecmdr
7d9ef0bf71 Merge "soc: qcom: snapshot of aon interface header" 2023-02-15 11:41:34 -08:00
Chris Goldsworthy
27a56001a1 msm_sysstats: Account introduction of for resv_start_op
Commit 9c5d03d362 ("genetlink: start to validate reserved header
bytes") introduces validation checks for new netlink operations for
reserved fields in a header. Existing netlink operations such as the
ones defined in this driver can omit these checks by setting
resv_start_op to be equal to the number of operations + 1. Without
this, the driver will fail to probe as we will not be able to register
the netlink ops.

Change-Id: I696da4fb43bd596c7c843f2b13f751a1d63a82fe
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
2023-02-15 07:36:35 -08:00
Chris Goldsworthy
725bec3fc6 msm_sysstats: Stub out non-exported functions
Remove dependencies on two non-exported functions (si_swapinfo() and
vmalloc_nr_pages()) along with one non-existant one. User space
clients of the sysstats driver will need to obtain swap_total from
/proc/meminfo's SwapTotal, swap_used from SwapTotal - SwapFree, and
vmalloc_total from VmallocUsed.

For now, the unreclaimable field will now return 0 as a value or just
the KGSL allocated memory, depending on the call path.

Change-Id: If3e204a5ff405bd9cbcb080c5d151c3a77c4b944
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
2023-02-15 07:36:31 -08:00
qctecmdr
aaec45b7bd Merge "ufs: ufs-qcom : Implement ufshcd_vops_event_notify() to monitor BER" 2023-02-15 04:27:58 -08:00
qctecmdr
3dc94b5daa Merge "net: qrtr: gunyah: Add bounds check in rx path" 2023-02-15 04:27:58 -08:00
qctecmdr
82bb59e472 Merge "drivers: irqchip: Fix SHOW_RESUME_IRQ dependency on ARM_GIC" 2023-02-15 04:27:58 -08:00
qctecmdr
d17fba32bc Merge "coresight: tpdm: Add DSB test mode support" 2023-02-15 04:27:57 -08:00
Fenglin Wu
3842d28e5b input: qcom-hv-haptics: include last pattern in pattern length calculation
The last non-zero pattern is found out and it needs to be included in
pattern length calculation. Fix it.

Change-Id: I63957876adc71d6dd75bebb900123c9fbaa9308c
Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com>
2023-02-15 11:51:57 +08:00
Ziqi Chen
d7067ae1ad ufs: ufs-qcom : Implement ufshcd_vops_event_notify() to monitor BER
We may encounter PHY errors, which would not be noticed. This change
implements the ufshcd_vops_event_notify() so that we can monitor such
non fatal PHY errors.
*Capture PHY error and PA error code
*Compute PHY BER
*Save all UFS registers to memory.
*Dump PHY registers and PHY error history if BER excceeds threshold.
*Crashes system if BER excceeds threshold.

Port from kernel/msm-5.15:
(Commit acfa60e09b08726597dce1f7e6fb086d6054f544:
 scsi: ufs-qcom : Implement ufshcd_vops_event_notify() to monitor BER).

Change-Id: I10c3e8b8d3fada5a165e7d4ca054c00dd11b05e6
Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
2023-02-15 11:42:04 +08:00
Huang Yiwei
d8cb5702e1 soc: qcom: minidump: Move module info dump to debug_symbol approach
Move module info dump to debug_symbol approach, so the module load
info can be dumped into minidump.

Change-Id: I0756fbe80afccdbacab5f08b2d63a5d2bc20bc65
Signed-off-by: Huang Yiwei <quic_hyiwei@quicinc.com>
2023-02-15 10:04:09 +08:00
qctecmdr
2df646555f Merge "usb: redriver: nb7vpq904m: Remove PM suspend/resume operations" 2023-02-14 01:56:32 -08:00
qctecmdr
b912450e61 Merge "sched/walt/rt: limit packing only on silver" 2023-02-14 01:56:32 -08:00
qctecmdr
a772154c1b Merge "usb: redriver: nb7vpq904m: remove operation mode check in vdd api" 2023-02-14 00:04:19 -08:00
qctecmdr
ac45d2c0e7 Merge "arm64: defconfig: Enable USB FFS IPC logging module" 2023-02-13 22:00:47 -08:00
qctecmdr
6ddec8590d Merge "soc: hw_fence: reserve client ids for ipe and vpu" 2023-02-13 22:00:46 -08:00
qctecmdr
fe2ca21e02 Merge "defconfig: arm64: Enable pstore minidump for pineapple" 2023-02-13 22:00:46 -08:00