Page MenuHomeFreeBSD

ARMv7 handle hyp-mode
ClosedPublic

Authored by mihai on Mar 18 2017, 3:34 PM.

Details

Summary

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)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Forgot to add the new file sys/arm/arm/hypervisor-stub.S

sys/arm/arm/hypervisor-stub.S
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.

sys/arm/arm/locore-v6.S
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.

sys/conf/files.arm
70 ↗(On Diff #26389)

You can make this optional on armv6, we don't need to build it on anything earlier than that.

I've applied all the recomandations from Andrew, besides the "struct arm_boot_params *" one.

sys/arm/arm/hypervisor-stub.S
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

Update the diff acording to the last review.

This revision is now accepted and ready to land.Mar 20 2017, 7:28 PM

Can you check the diff you uploaded didn't replace tabs with spaces. It's not applying to my svn checkout.

mihai edited edge metadata.

Uploaded a file instead of copy/paste.

This revision now requires review to proceed.Mar 21 2017, 8:06 AM
This revision was automatically updated to reflect the committed changes.