Page MenuHomeFreeBSD

ARMv7 handle hyp-mode
ClosedPublic

Authored by mihai on Mar 18 2017, 3:34 PM.
Tags
Referenced Files
Unknown Object (File)
Thu, Dec 12, 12:33 AM
Unknown Object (File)
Mon, Nov 18, 12:51 PM
Unknown Object (File)
Sat, Nov 16, 1:02 PM
Unknown Object (File)
Nov 6 2024, 8:26 AM
Unknown Object (File)
Oct 30 2024, 4:14 AM
Unknown Object (File)
Oct 30 2024, 3:28 AM
Unknown Object (File)
Oct 12 2024, 11:49 PM
Unknown Object (File)
Oct 12 2024, 7:04 AM
Subscribers

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
Lint Not Applicable
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.