Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/01/2020 in all areas

  1. Off-topic. Now that this is out, I need to buy it 🙂 https://www.sabrent.com/rocket-4-plus/
    2 points
  2. @fabiosun, these are excellent questions. I feel that we need to post more of those with hopefully insightful answers that deepen our understanding and reduce trial and error. I will take a very crude stab at what "I think" this MMIO devirtualise (definitely not spelled by an American) refers to, but this is a very superficial attempt as I don't know well the memory mapping of hardware. 1st one needs to understand MMIO (I actually never read that article myself until now but pasting it anyways) https://en.wikipedia.org/wiki/Memory-mapped_I/O Notice how there's a table in there that has memory address ranges. Computer memory can be pictures as a tape with a list of contiguous addresses that are just hexadecimal numbers separated by a fixed distance dependent on the architecture (e.g. 8 bytes). Some of this memory is allocated to hardware devices and this is where MMIO (memory mapped IO) comes in. Now, it gets a bit more complicated. "Virtual memory" refers to the fact that a system can see "fake" logical addresses that have some sort of translation to real physical addresses that can be read from or written to. Why do that - because it's convenient for software to think of memory as 1 tape, but in reality memory has many levels such as CPU registers, caches, main memory, disks etc (you can even insert magnetic tapes here). The "fake" logical addresses are called "virtual" and the real one "physical". Physical addresses are complicated to deal with as they can be spread among different types of hardware, so logic exists to translate between the 2. This concept is "central" to OS-es (every modern OS really) - this allows your software to fancy it has this large tape of memory where in reality there's a complex bookkeeping system to manage many devices behind that fake tape. You can read about this here: https://en.wikipedia.org/wiki/Page_table So far we haven't really said how the concept of "virtual memory" applies to MMIO and what does this have to do with the MacOS kernel. It seems that the memory ranges given as examples in https://en.wikipedia.org/wiki/Memory-mapped_I/O are also virtual. This is an educated guess on my part - I can only makes sense of it this way. What this means is that besides the address ranges in these tables, you have to store bookkeeping information on how to translate these "virtual" addresses to "physical" ones. Such info in the form of lookup tables itself takes memory. Seems that as the MacOS kernel grew, and also KASLR (randomized loading) was introduced (itself a complicated topic I know little of), it became harder for it to fit into certain restricted memory areas where a kernel is supposed to load as it couldn't find space among these MMIO bookkeeping ranges. By "de-virtualizing" OC is able to prevent / bypass such bookkeeping info for certain address ranges, thus saving memory and allowing the kernel to fit. I'd love for someone to give more detail on that or let me know if I'm being inaccurate. What I don't know is how this "bypassing" translates to corruption such as Shutdown not working or other issues not observed. If you "devirtualize" too much, you free more memory but you mess the OS interacting with these ranges when it loads. If you don't devirtualize you can't fit the kernel. So to answer your questions (as an educated guess, I must admit): 1) Means that virtual addresses are not used for certain MMIO ranges saving memory on lookup/bookkeeping to translate virtual addresses to physical ones 2) When I use the term "on" I refer to the config.plist MMIO whitelist ENABLED boolean checkbox - "on" is same as ENABLED=YES. I would think that if you select "DevirtualiseMmio" and don't provide any addresses, then the entire range is implicitly "skip=0" (ENABLED=NO). This means we do not skip devirtualizing, which is a very twisted way of saying that we devirtualize and free up the max amount of memory. But then we mess with hardware / OS interaction later on. 3) skip 0 is just OC logging that you instructed ENABLED=NO. skip 1 is opposite. If you skip=1 everywhere you skip devirtualization, leaving everything virtual. If you set ENABLED=NO everywhere you devirtualize everywhere. 5) As this is my 1st Hackintosh project, the answer is "I don't know" - seems to depends on the firmware and memory map. Clearly the VM didn't need it. TRX40 seems to need it. My guess that all boards followed a reference AMD template, which would need it.
    2 points
  3. Salve a tutti... ho unito vari miei ssdt che usavo da tempo in uno unico..😀 kabylake/coffeelake per skylake oppure per Haswell Cosa fa? rinomina device, inietta proprietà, rendendo l'hack più "simile" a vero mac Con aggiunte anche del tutto cosmetiche Non servono fix acpi sul config, o rename Unica patch richiesta in ACPI/DSDT Patches è la seguente Change _DSM to ZDSM Find: 5F44534D Repl: 5A44534D NB: non è da rifare in caso di aggiornamento BIOS NOTA: Non deve essere droppata nessuna tabella ssdt OEM riguardante le usb se non in caso di uso per la disattivazione di alcune porte (dopo la mappature di quelle non in uso) NOTA 2: SSDT X hack va messo decompresso in EFI CLOVER ACPI Patched NOTA 3: con Clover è sempre meglio inserire il nome esatto compreso di estensione in sorted order presente nel config NOTA 4: tutti i fix seguenti, sono da applicare eventualmente in un secondo momento, in caso necessitino Aggiornamento: Vari Fix integrati abitabili tramite rename sul config aggiungendo anche SSDT_Usb_Sleep Fix per Shutdown/ Stop/Sleep Change PTS to ZPTS Find: 5F505453 Repl: 5A505453 Fix USB ShutDown/ Stop/ Sleep change _PRW to ZPRW Find: 5F505257 Repl: 5A505257 Fix Per usb dopo lo sleep ( Aggiuntivo: Per serie 8 & 9 ) Change XWAK to ZWAK Find: 5857414B Repl 5A57414B Change XSEL to ZSEL Find: 5853454C Repl:5A53454C Darwin: Change _OSI to XOSI Find: 5F4F5349 Repl: 584F5349 Credits: * Apple per macOS, vere acpi, ioreg etc... * Acidanthera * Pike.R Alpha * Toleda * RehabMan * bcc9 * Slice * ErmaC * Team di clover * Molti altri sviluppatori * Molte altre persone e forum che hanno contribuito per anni a migliorare la scena hackintosh Qualcuno vuole provare... e fare da cavia? nel caso allegate la vostra origin, ioreg e config dopo aver rimosso i vostri seriali SSDT-Haswell-V(1).aml.zip SSDT-Haswell_8Series.aml.zip SSDT-Haswell.aml.zip SSDT-Usb_Sleep.aml.zip SSDT-Kaby_CoffeLake.aml.zip SSDT_SkyLake.aml.zip SSDT-390series.aml.zip SSDT-Kaby_CoffeLake.aml-incluso PM.zip SSDT_SkyLake-incluso PM.aml.zip SSDT-390seriesV1-incluso PM.aml.zip SSDT-390seriesV2-incluso PM.aml.zip SSDT-390series+biosFIX.aml.zip SSDT-Kaby_CoffeLake+biosFIX.aml.zip SSDT-390series+biosFIX+Vega.aml.zip SSDT-390series+biosFIX_macMini.aml.zip SSDT-Kaby_CoffeLake.aml+Vega+BiosFix.zip ------------------------------------------------------------------------------------------------------------ SSDT 390 (V2) Differenze: spostato un device in LPCB Maggiore compatibilità e aiuto riguardo NVram Grazie anche a Acidanthera. V2_SSDT-390series.aml.zip V2_SSDT-390series.aml+BiosFix.zip V2_SSDT-390series+BiosFix_Vega-Navi.aml.zip
    1 point
  4. Version 063_18_10_0135

    91 downloads

    Versione beta di OC aggiornata agli ultimi commit https://github.com/acidanthera/OpenCorePkg
    1 point
  5. Yeah I figure this much, but you can do all that in your GFX SSDT and it only requires 3 of the 40+ settings you currently have in the Device properties section of the config. The performance gain is not from the frame buffer settings but from the `ATY,EFIVersion`and `ATY,EFIRom` values, if you look at the ACPI folder I uploaded from mine, my GFX SSDT has those as well. The RX 5700 XT can not use the `PP_WorkLoadPolicyMask` settings of my SSDT though, so do not include that into your SSDT.
    1 point
  6. Grazie, proverò nel corso del anno, da che versione mi consigli di partire con le specifiche sopra citate? Provo sempre Sierra pulita ?
    1 point
  7. @meina222i like your programmer way to explain and to try to solve problem also @iGPU way is similar and i think you have given a bit to improve this thread thank you now a simple way to explain and sorry to all if sometimes i seems to be rude..it is only my english... more 1 we have in our debug better is because all that area are in OSX avaibility when an ‘area’ is on 0 in debug and OSX try to write there or use it for its tasks..system hangs about @Driftwood problem i have always said i am testing high sierra, mojave, catalina and for this when you reach your gold situation no problem at all gold situation means nvram ok sip ok bios ok config ok if one of this fails problem happens and to solve you have to be more drastic And you have to reset sip, in recovery and in config..to achieve and optimal condition this is our big and common problem.
    1 point
  8. 5) no all AMD platform need of devirtualizemmio stuff I think I meant AMD TRX40. I wouldn't know about others as I never did Hackintosh on other AMD.
    0 points
  9. si va bene macOS non è windows HDMI e DP il volume lo si regola dall'app che li stà usando.. spiego, se usi un videoplayer tipo VLC, lo si regola da li l'audio finchè non si mappa e sarà presente USBInjectall, qualche problema a questo kext ci sarà sempre magari bastava aprire il terminale e: sudo mount -uw / sudo kextcache -i / poi riavviare
    0 points
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.