Page MenuHomeFreeBSD

Always assume we run with an automatically translated physmap under XEN.
ClosedPublic

Authored by jhb on Aug 6 2015, 7:43 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 11, 9:53 PM
Unknown Object (File)
Mon, Nov 11, 5:52 AM
Unknown Object (File)
Sep 19 2024, 2:21 AM
Unknown Object (File)
Sep 19 2024, 2:20 AM
Unknown Object (File)
Sep 19 2024, 2:20 AM
Unknown Object (File)
Sep 19 2024, 2:20 AM
Unknown Object (File)
Sep 19 2024, 2:20 AM
Unknown Object (File)
Sep 19 2024, 2:20 AM
Subscribers

Details

Test Plan
  • universe built all kernels ok on amd64, i386, and pc98.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb retitled this revision from to Always assume we run with an automatically translated physmap under XEN..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added a reviewer: royger.

Thanks for doing all this! I will try to test the patch this afternoon. I'm also going to be on vacation next week (without Internet or laptop).

sys/dev/xen/netfront/netfront.c
1009 ↗(On Diff #7734)

This chunk is wrong and should be removed. I guess the extra "!" in the if condition was a mistake. The __HYPERVISOR_mmu_update hypercall is not available for auto-translated guests.

sys/xen/gnttab.h
127 ↗(On Diff #7734)

GNTMAP_contains_pte is not available for auto-translated guests, in fact we should add a check like:

if (flags & (GNTMAP_device_map|GNTMAP_application_map|GNTMAP_contains_pte) != 0)
    panic("Invalid grant table flags specified");

But that can be done later.

royger edited edge metadata.

Building HEAD is currently broken, and I have to leave ASAP, so I won't be able to test it until the 15th (a week from now). Feel free to commit it.

This revision is now accepted and ready to land.Aug 7 2015, 4:54 PM
jhb marked an inline comment as done.Aug 8 2015, 4:12 PM

Ok, I'll do the gnttab thing as a followup to this one.

sys/dev/xen/netfront/netfront.c
1002 ↗(On Diff #7734)

I wonder if the !! in the old code was actually a bug and if this code is supposed to only be present for the !auto case? If so then I can remove some more bits such as the rx_mcl and rx_mmu arrays from the softc.

jhb edited edge metadata.

Remove MMU update hypercall.

This revision now requires review to proceed.Aug 8 2015, 4:12 PM
jhb edited edge metadata.

Update.

This revision was automatically updated to reflect the committed changes.