mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2025-04-07 18:45:53 +02:00
implemented hw.target
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
parent
5a57fccb1b
commit
ec1f8a6a4a
@ -243,9 +243,11 @@
|
|||||||
<key>BooterConfig</key>
|
<key>BooterConfig</key>
|
||||||
<string>0x28</string>
|
<string>0x28</string>
|
||||||
<key>CsrActiveConfig</key>
|
<key>CsrActiveConfig</key>
|
||||||
<string>0x3E7</string>
|
<string>0xA85</string>
|
||||||
<key>MLB</key>
|
<key>MLB</key>
|
||||||
<string>C02032109R5DC771H</string>
|
<string>C02032109R6DC771H</string>
|
||||||
|
<key>#HWTarget</key>
|
||||||
|
<string>j160</string>
|
||||||
<key>Block</key>
|
<key>Block</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -388,10 +388,16 @@ SetVariablesForOSX(LOADER_ENTRY *Entry)
|
|||||||
SetNvramVariable(L"flagstate", &gEfiAppleBootGuid, Attributes, 32, &GlobalConfig.flagstate);
|
SetNvramVariable(L"flagstate", &gEfiAppleBootGuid, Attributes, 32, &GlobalConfig.flagstate);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hack for recovery by Asgorath
|
|
||||||
if (gSettings.RtVariables.CsrActiveConfig != 0xFFFF) {
|
if (gSettings.RtVariables.CsrActiveConfig != 0xFFFF) {
|
||||||
SetNvramVariable(L"csr-active-config", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.RtVariables.CsrActiveConfig), &gSettings.RtVariables.CsrActiveConfig);
|
SetNvramVariable(L"csr-active-config", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.RtVariables.CsrActiveConfig), &gSettings.RtVariables.CsrActiveConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gSettings.RtVariables.HWTarget.notEmpty()) {
|
||||||
|
SetNvramXString8(L"BridgeOSHardwareModel", &gEfiAppleNvramGuid, Attributes, gSettings.RtVariables.HWTarget);
|
||||||
|
} else {
|
||||||
|
DeleteNvramVariable(L"BridgeOSHardwareModel", &gEfiAppleNvramGuid);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (gSettings.RtVariables.BooterConfig != 0) {
|
if (gSettings.RtVariables.BooterConfig != 0) {
|
||||||
SetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.RtVariables.BooterConfig), &gSettings.RtVariables.BooterConfig);
|
SetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, Attributes, sizeof(gSettings.RtVariables.BooterConfig), &gSettings.RtVariables.BooterConfig);
|
||||||
|
@ -2260,6 +2260,7 @@ printf("%s", "");
|
|||||||
UINT32 CsrActiveConfig = UINT32();
|
UINT32 CsrActiveConfig = UINT32();
|
||||||
UINT16 BooterConfig = UINT16();
|
UINT16 BooterConfig = UINT16();
|
||||||
XString8 BooterCfgStr = XString8();
|
XString8 BooterCfgStr = XString8();
|
||||||
|
XString8 HWTarget = XString8();
|
||||||
XObjArrayWithTakeValueFromXmlArray<RT_VARIABLES, ConfigPlistClass::RtVariables_Class::Devices_RtVariables_Block> BlockRtVariableArray = XObjArrayWithTakeValueFromXmlArray<RT_VARIABLES, ConfigPlistClass::RtVariables_Class::Devices_RtVariables_Block>();
|
XObjArrayWithTakeValueFromXmlArray<RT_VARIABLES, ConfigPlistClass::RtVariables_Class::Devices_RtVariables_Block> BlockRtVariableArray = XObjArrayWithTakeValueFromXmlArray<RT_VARIABLES, ConfigPlistClass::RtVariables_Class::Devices_RtVariables_Block>();
|
||||||
|
|
||||||
XBool GetLegacyLanAddress() const {
|
XBool GetLegacyLanAddress() const {
|
||||||
@ -2277,6 +2278,7 @@ printf("%s", "");
|
|||||||
if ( !(CsrActiveConfig == other.CsrActiveConfig) ) return false;
|
if ( !(CsrActiveConfig == other.CsrActiveConfig) ) return false;
|
||||||
if ( !(BooterConfig == other.BooterConfig) ) return false;
|
if ( !(BooterConfig == other.BooterConfig) ) return false;
|
||||||
if ( !(BooterCfgStr == other.BooterCfgStr) ) return false;
|
if ( !(BooterCfgStr == other.BooterCfgStr) ) return false;
|
||||||
|
if ( !(HWTarget == other.HWTarget) ) return false;
|
||||||
if ( !BlockRtVariableArray.isEqual(other.BlockRtVariableArray) ) return false;
|
if ( !BlockRtVariableArray.isEqual(other.BlockRtVariableArray) ) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -2289,6 +2291,7 @@ printf("%s", "");
|
|||||||
BooterConfig = configPlist.dgetBooterConfig();
|
BooterConfig = configPlist.dgetBooterConfig();
|
||||||
BooterCfgStr = configPlist.dgetBooterCfgStr();
|
BooterCfgStr = configPlist.dgetBooterCfgStr();
|
||||||
BlockRtVariableArray.takeValueFrom(configPlist.Block);
|
BlockRtVariableArray.takeValueFrom(configPlist.Block);
|
||||||
|
HWTarget = configPlist.dgetHWTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -135,16 +135,18 @@ protected:
|
|||||||
XmlUInt32 CsrActiveConfig = XmlUInt32();
|
XmlUInt32 CsrActiveConfig = XmlUInt32();
|
||||||
XmlUInt16 BooterConfig = XmlUInt16();
|
XmlUInt16 BooterConfig = XmlUInt16();
|
||||||
XmlString8AllowEmpty BooterCfg = XmlString8AllowEmpty();
|
XmlString8AllowEmpty BooterCfg = XmlString8AllowEmpty();
|
||||||
|
XmlString8AllowEmpty HWTarget = XmlString8AllowEmpty();
|
||||||
public:
|
public:
|
||||||
XmlArray<Devices_RtVariables_Block> Block = XmlArray<Devices_RtVariables_Block>();
|
XmlArray<Devices_RtVariables_Block> Block = XmlArray<Devices_RtVariables_Block>();
|
||||||
|
|
||||||
XmlDictField m_fields[6] = {
|
XmlDictField m_fields[7] = {
|
||||||
{"ROM", ROM},
|
{"ROM", ROM},
|
||||||
{"MLB", MLB},
|
{"MLB", MLB},
|
||||||
{"CsrActiveConfig", CsrActiveConfig},
|
{"CsrActiveConfig", CsrActiveConfig},
|
||||||
{"BooterConfig", BooterConfig},
|
{"BooterConfig", BooterConfig},
|
||||||
{"BooterCfg", BooterCfg},
|
{"BooterCfg", BooterCfg},
|
||||||
{"Block", Block},
|
{"Block", Block},
|
||||||
|
{"HWTarget", HWTarget},
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void getFields(XmlDictField** fields, size_t* nb) override { *fields = m_fields; *nb = sizeof(m_fields)/sizeof(m_fields[0]); };
|
virtual void getFields(XmlDictField** fields, size_t* nb) override { *fields = m_fields; *nb = sizeof(m_fields)/sizeof(m_fields[0]); };
|
||||||
@ -169,7 +171,7 @@ public:
|
|||||||
decltype(CsrActiveConfig)::ValueType dgetCsrActiveConfig() const { return CsrActiveConfig.isDefined() ? CsrActiveConfig.value() : 0xFFFF; }; // 0xFFFF = not set
|
decltype(CsrActiveConfig)::ValueType dgetCsrActiveConfig() const { return CsrActiveConfig.isDefined() ? CsrActiveConfig.value() : 0xFFFF; }; // 0xFFFF = not set
|
||||||
const decltype(BooterConfig)::ValueType& dgetBooterConfig() const { return BooterConfig.isDefined() ? BooterConfig.value() : BooterConfig.nullValue; };
|
const decltype(BooterConfig)::ValueType& dgetBooterConfig() const { return BooterConfig.isDefined() ? BooterConfig.value() : BooterConfig.nullValue; };
|
||||||
const decltype(BooterCfg)::ValueType& dgetBooterCfgStr() const { return BooterCfg.isDefined() ? BooterCfg.value() : BooterCfg.nullValue; };
|
const decltype(BooterCfg)::ValueType& dgetBooterCfgStr() const { return BooterCfg.isDefined() ? BooterCfg.value() : BooterCfg.nullValue; };
|
||||||
|
const decltype(HWTarget)::ValueType& dgetHWTarget() const { return HWTarget.isDefined() ? HWTarget.value() : HWTarget.nullValue; };// "j160"_XS8; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user