VirtualBox

Changeset 81520 in vbox for trunk/src/VBox/Devices/EFI


Ignore:
Timestamp:
Oct 24, 2019 1:55:23 PM (5 years ago)
Author:
vboxsync
Message:

DevSmc: Suspect SMC4CH is causing load time constructors to generated for g_aSmcKeys. Hope this will fix the linux build isses. bugref:9218

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/DevSmc.cpp

    r81519 r81520  
    125125
    126126/** Macro for emitting a static DEVSMC4CHID initializer. */
    127 #define SMC4CH(a_sz4) { { a_sz4[0], a_sz4[1], a_sz4[2], a_sz4[3] } }
     127#define SMC4CH(ch1, ch2, ch3, ch4) { { ch1, ch2, ch3, ch4 } }
    128128
    129129/**
     
    330330{
    331331    /* Non-enum keys first. */
    332     { SMC4CH("OSK0"), SMC4CH("ch8*"), scmKeyGetOSKs, NULL, 32, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_FUNCTION },
    333     { SMC4CH("OSK1"), SMC4CH("ch8*"), scmKeyGetOSKs, NULL, 32, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_FUNCTION },
     332    { SMC4CH('O','S','K','0'), SMC4CH('c','h','8','*'), scmKeyGetOSKs, NULL, 32, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_FUNCTION },
     333    { SMC4CH('O','S','K','1'), SMC4CH('c','h','8','*'), scmKeyGetOSKs, NULL, 32, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_FUNCTION },
    334334
    335335    /* The first enum key is the #KEY value. */
    336     { SMC4CH("#KEY"), SMC4CH("ui32"), scmKeyGetKeyCount,            NULL,                       4, SMC_KEY_ATTR_READ },
     336    { SMC4CH('#','K','E','Y'), SMC4CH('u','i','3','2'), scmKeyGetKeyCount,            NULL,                       4, SMC_KEY_ATTR_READ },
    337337# ifdef VBOX_WITH_SMC_2_x
    338     { SMC4CH("$Adr"), SMC4CH("ui32"), scmKeyGetDollarAddress,       NULL,                       4, SMC_KEY_ATTR_READ },
    339     { SMC4CH("$Num"), SMC4CH("ui8 "), scmKeyGetDollarNumber,        scmKeyPutDollarNumber,      1, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_WRITE | SMC_KEY_ATTR_PRIVATE },
    340     { SMC4CH("BEMB"), SMC4CH("flag"), scmKeyGetOne,                 NULL,                       1, SMC_KEY_ATTR_READ },
     338    { SMC4CH('$','A','d','r'), SMC4CH('u','i','3','2'), scmKeyGetDollarAddress,       NULL,                       4, SMC_KEY_ATTR_READ },
     339    { SMC4CH('$','N','u','m'), SMC4CH('u','i','8',' '), scmKeyGetDollarNumber,        scmKeyPutDollarNumber,      1, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_WRITE | SMC_KEY_ATTR_PRIVATE },
     340    { SMC4CH('B','E','M','B'), SMC4CH('f','l','a','g'), scmKeyGetOne,                 NULL,                       1, SMC_KEY_ATTR_READ },
    341341# else
    342     { SMC4CH("LSOF"), SMC4CH("flag"), scmKeyGetZero,                NULL,                       1, SMC_KEY_ATTR_READ },
     342    { SMC4CH('L','S','O','F'), SMC4CH('f','l','a','g'), scmKeyGetZero,                NULL,                       1, SMC_KEY_ATTR_READ },
    343343# endif
    344     { SMC4CH("MSSD"), SMC4CH("si8 "), scmKeyGetShutdownReason,      scmKeyPutShutdownReason,    1, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_WRITE | SMC_KEY_ATTR_PRIVATE },
     344    { SMC4CH('M','S','S','D'), SMC4CH('s','i','8',' '), scmKeyGetShutdownReason,      scmKeyPutShutdownReason,    1, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_WRITE | SMC_KEY_ATTR_PRIVATE },
    345345    /* MSDS is not present on MacPro3,1 nor MacBookPro10,1, so returning not found is fine. */
    346346# ifdef VBOX_WITH_SMC_2_x
    347     { SMC4CH("MSTf"), SMC4CH("ui8 "), scmKeyGetZero,                NULL,                       1, SMC_KEY_ATTR_READ },
     347    { SMC4CH('M','S','T','f'), SMC4CH('u','i','8',' '), scmKeyGetZero,                NULL,                       1, SMC_KEY_ATTR_READ },
    348348# endif
    349     { SMC4CH("NATJ"), SMC4CH("ui8 "), scmKeyGetNinjaTimerAction,    scmKeyPutNinjaTimerAction,  1, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_WRITE | SMC_KEY_ATTR_PRIVATE },
    350     { SMC4CH("REV "), SMC4CH("{rev"), scmKeyGetRevision,            NULL,                       6, SMC_KEY_ATTR_READ },
     349    { SMC4CH('N','A','T','J'), SMC4CH('u','i','8',' '), scmKeyGetNinjaTimerAction,    scmKeyPutNinjaTimerAction,  1, SMC_KEY_ATTR_READ | SMC_KEY_ATTR_WRITE | SMC_KEY_ATTR_PRIVATE },
     350    { SMC4CH('R','E','V',' '), SMC4CH('{','r','e','v'), scmKeyGetRevision,            NULL,                       6, SMC_KEY_ATTR_READ },
    351351/** @todo MSSP, NTOK and more. */
    352352};
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette