bus_space(9) implementation for SEV-ES using the GHCB protocol
This makes OpenBSD work with SEV-ES on kvm/qemu in 1-vCPU VMs
From Sebastian Sturm with tweaks by hshoexer@ and myself
ok mlarkin@
SEV-ES: GHCB protocol for IO and MMIO
Implement the parts of the GHCB protocol for IO and MMIO; to be
used to paravirtualize bus_space(9) for SEV-ES:
- extend the ghcb_sync_out() and ghcb_sync_in() to pass a data
buffer to or from the hypervisor
- implement for both IO and MMIO generic functions _ghcb_io_rw()
and _ghcb_mem_rw() that build, send and receive the respective
GHCB messages for various data sizes
- add wrapper functions that call _ghcb_io_rw() and _ghcb_mem_rw()
with the actual data sizes; these will be used for bus_space(9)
From Sebastian Sturm with tweaks by hshoexer@ and myself
ok mlarkin@
[ADT] Fix llvm::concat_iterator for `ValueT == common_base_class *` (#144744)
Fix `llvm::concat_iterator` for the case of `ValueT` being a pointer to
a common base class to which the result of dereferencing any iterator in
`ItersT` can be casted to.
[lldb] Recognize MTE fault Mach exceptions (#159117)
Recognize an MTE tag fault Mach exception. A tag fault is an error
reported by Arm's Memory Tagging Extension (MTE) when a memory access
attempts to use a pointer with a tag that doesn't match the tag stored
with the memory. LLDB will print the tag and address to make the issue
easier to diagnose.
This was hand tested by debugging an MTE enabled binary on an iPhone 17
running iOS 26.
rdar://113575216
pgpkeys: Extend my key's expiration dates
I thought that, for once in my life, I might try doing this BEFORE the
old key expires. It's important to try new things sometimes.
zino: update to version 2.1.0.
Pkgsrc changes:
* version-bump + checksums.
* Adjust dependencies to track upstream requirements.
Upstream changes:
* Added new config option to suppress portstate event generation
for newly discovered interfaces (#257)
* Document how to set up Zino with systemd (#425)
* Delete events related to routers that have been removed from
polldevs.cf (#427)
* Finish setting up the documentation-tree: Add badge, some
structure, trim down the README (#434)
* Added debug logging of trap type identification information
* Use new snmpversion config field in zino.toml to decide which
SNMP version to use (default to v2c) (#397)
[5 lines not shown]
[DebugInfo][DwarfDebug] Separate creation and population of abstract subprogram DIEs (#159104)
With this change, construction of abstract subprogram DIEs is split in
two stages/functions:
creation of DIE (in DwarfCompileUnit::getOrCreateAbstractSubprogramDIE)
and its population with children (in
DwarfCompileUnit::constructAbstractSubprogramScopeDIE).
With that, abstract subprograms can be created/referenced from
DwarfDebug::beginModule, which should solve the issue with static local
variables DIE creation of inlined functons with optimized-out
definitions. It fixes https://github.com/llvm/llvm-project/issues/29985.
LexicalScopes class now stores mapping from DISubprograms to their
corresponding llvm::Function's. It is supposed to be built before
processing of each function (so, now LexicalScopes class has a method
for "module initialization" alongside the method for "function
initialization"). It is used by DwarfCompileUnit to determine whether a
DISubprogram needs an abstract DIE before DwarfDebug::beginFunction is
invoked.
[14 lines not shown]
[Hexagon] Bugfix in VarArg lowering: Special case for musl (#157564)
While debugging #145206 I found that a possible cause for the problem is
the call to printf, which is variadic.
In a musl environment VarArgs are treated like *non* VarArgs.
The handling of this special case was bypassed by the commit
a4f85515c20566a3c059aacd1ee3554b598f33f0.
The reason is that the arguement `TreatAsVarArg` is only set to `true`
in
an *non* musl env. `TreatAsVarArg` determines the result of
`isVarArg()`.
The `CCIfArgVarArg` class only checks each individual
variable, but not whether `isVarArg()` is true.
Without the special case, the unnamed arguments are always passed
on the stack, as is standard calling convention. But with musl
also unnamed arguments can be passed in registers.
Possibly, this fixes #145206.