Page MenuHomeFreeBSD

vmm: emulate INVD by ignoring it
ClosedPublic

Authored by corvink on Jun 28 2022, 8:43 AM.
Tags
Referenced Files
F102834858: D35620.diff
Sun, Nov 17, 7:03 PM
Unknown Object (File)
Sep 27 2024, 10:57 AM
Unknown Object (File)
Sep 27 2024, 8:45 AM
Unknown Object (File)
Sep 22 2024, 3:31 AM
Unknown Object (File)
Sep 20 2024, 4:45 PM
Unknown Object (File)
Sep 16 2024, 11:17 PM
Unknown Object (File)
Sep 10 2024, 11:04 PM
Unknown Object (File)
Sep 5 2024, 9:48 PM
Subscribers

Details

Summary

On physical systems the ram isn't initialized on boot. So, coreboot uses
the cache as ram in this boot phase. When exiting cache as ram, coreboot
calls INVD for making the cache consistent.

In a virtual environment ram is always initialized and the cache is
always consistent. So, we can safely ignore this call.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Jun 28 2022, 4:50 PM

Presumably there aren't other uses of invd for which we would want some sort of behavior? But I suspect the reasons for ignoring wbinvd are similar.

If I don't miss something, INVD is always senseless in a virtual environment. So, I'm not planning to implement some kind of emulation.

This revision was automatically updated to reflect the committed changes.