The diff is handling hyp-mode and making all the necessary operations in order to be able to run bhyve-arm (which will be added at the next diff)
- Group Reviewers
- rS315712: Add the early hypervisor code needed on 32-bit ARMv7. This will be used
|1 ↗||(On Diff #26389)|
You should add a license.
|8 ↗||(On Diff #26389)|
You should add __FBSDID("$FreeBSD$"); here, and wrap the code with #if __ARM_ARCH >= 7
|17–20 ↗||(On Diff #26389)|
Can you add these (and other registers below) to sys/arm/include/sysreg.h then use the macros here.
|24 ↗||(On Diff #26389)|
You should add a macro to sys/arm/include/armreg.h for this.
|72–74 ↗||(On Diff #26389)|
I think we should be passing this to initarm via the struct arm_boot_params *. Although I note we are running low on free registers.
|70 ↗||(On Diff #26389)|
You can make this optional on armv6, we don't need to build it on anything earlier than that.
|48–51 ↗||(On Diff #26411)|
Do we need these comments now? It should be obvious what register each instruction is updating.
|55 ↗||(On Diff #26411)|
Can you change this comment to /* ... */
|57 ↗||(On Diff #26411)|
Maybe a comment saying there is an implicit instruction barrier in the eret in the caller.
|58 ↗||(On Diff #26411)|
This one can be RET