Expanding the audience beyond the RFC list….
If no one has additional input, I’ll try to start formatting these as patches 
later this week. Thanks!

- Bret

From: Bret Barkelew<mailto:bret.barke...@microsoft.com>
Sent: Tuesday, January 28, 2020 5:36 PM
To: r...@edk2.groups.io<mailto:r...@edk2.groups.io>
Subject: [RFC] VariablePolicy - Protocol, Libraries, and Implementation for 
VariableLock Alternative

All,

VariablePolicy is our proposal for an expanded “VarLock-like” interface to 
constrain and govern platform variables.
I brought this up back in May to get initial comments on the interface and 
implications of the interface and the approach. We implemented it in Mu over 
the summer and it is not our defacto variable solution. It plugs in easily to 
the existing variable infrastructure, but does want to control some of the 
things that are currently managed by VarLock.

There are also some tweaks that would be needed if this were desired to be 100% 
optional code, but that’s no different than the current VarLock implementation 
which has implementation code directly tied to some of the common variable code.

I’ve structured this RFC in two pieces:

  *   The Core piece represents the minimum changes needed to implement 
Variable Policy and integrate it into Variable Services. It contains core 
driver code, central libraries and headers, and DXE driver for the protocol 
interface.
  *   The Extras piece contains recommended code for a full-feature 
implementation including a replacement for the VarLock protocol that enables 
existing code to continue functioning as-is. It also contains unit and 
integration tests. And as a bonus, it has a Rust implementation of the core 
business logic for Variable Policy.

The code can be found in the following two branches:
https://github.com/corthon/edk2/tree/personal/brbarkel/var_policy_rfc_core
https://github.com/corthon/edk2/tree/personal/brbarkel/var_policy_rfc_extra

A convenient way to see all the changes in one place is to look at a comparison:
https://github.com/corthon/edk2/compare/master...corthon:personal/brbarkel/var_policy_rfc_core
https://github.com/corthon/edk2/compare/personal/brbarkel/var_policy_rfc_core...corthon:personal/brbarkel/var_policy_rfc_extra

There’s additional documentation in the PPT and DOC files in the core branch:
https://github.com/corthon/edk2/blob/personal/brbarkel/var_policy_rfc_core/RFC%20VariablePolicy%20Proposal%20Presentation.pptx
 
https://github.com/corthon/edk2/blob/personal/brbarkel/var_policy_rfc_core/RFC%20VariablePolicy%20Whitepaper.docx
(You’d need to download those to view.)

My ultimate intention for this is to submit it as a series of patches for 
acceptance into EDK2 as a replacement for VarLock. For now, I’m just looking 
for initial feedback on any broad changes that might be needed to get this into 
shape for more detailed code review on the devel list.

Thanks!

- Bret



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53712): https://edk2.groups.io/g/devel/message/53712
Mute This Topic: https://groups.io/mt/70968478/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to