Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/01/2022 in all areas

  1. In questo thread proveremo a spiegare la funzione di questo interessantissimo quirk e soprattutto della correlata sezione di MMIO Whitelist che e' ancora piu' fondamentale per diversi sistemi. L'argomento e' stato documentato recentemente in modo piu' esaustivo nel pdf di configurazione di OpenCore, ma ha assunto al giorno d'oggi sempre piu' valore per avere un Hackintosh al massimo delle sue potenzialità anche alla luce delle nuove architetture di CPU in uso. Di base il quirk non e' attivo e per molti sistemi non e' indispensabile per far funzionare e partire il proprio Hack. A dicembre 2019 con l'uscita delle CPU AMD ThreadRipper della terza generazione (sTRX4), molti utenti, loro malgrado, sono stati costretti ad interessarsi al funzionamento del quirk in oggetto. In quel periodo la documentazione di OpenCore sull'argomento era poco esaustiva anche perche' era un quirk utile solo per vecchi sistemi. Con l'aiuto a volte criptico degli sviluppatori di OpenCore (ai quali e' sempre dovuto un ringraziamento per il loro lavoro) si sono iniziati a muovere i primi passi per capire come utilizzarlo per fare dei debug su una piattaforma come quella descritta poco sopra (sTRX4) in unione alla funzionalità della MMIO Whitelist. link Attivando il quirk e solo utilizzando una versione di debug di OpenCore con opzione Misc/Debug/Target impostato su 67, e' possibile, anche con una macchina che non parte, un debug nel quale sono evidenziate le aree MMIO del proprio PC (numero di aree e valori possono variare): 08:808 00:001 OCABC: MMIO devirt 0xE2100000 (0x81 pages, 0x8000000000000001) skip 0 08:809 00:001 OCABC: MMIO devirt 0xE3180000 (0x81 pages, 0x8000000000000001) skip 0 08:810 00:001 OCABC: MMIO devirt 0xEF100000 (0x181 pages, 0x8000000000000001) skip 0 08:811 00:001 OCABC: MMIO devirt 0xFA180000 (0x81 pages, 0x8000000000000001) skip 0 08:812 00:001 OCABC: MMIO devirt 0xFA300000 (0x100 pages, 0x8000000000000001) skip 0 08:813 00:001 OCABC: MMIO devirt 0xFEA00000 (0x100 pages, 0x8000000000000001) skip 0 08:814 00:001 OCABC: MMIO devirt 0xFEC00000 (0x1 pages, 0x8000000000000001) skip 0 08:816 00:001 OCABC: MMIO devirt 0xFEC10000 (0x1 pages, 0x8000000000000001) skip 0 08:817 00:001 OCABC: MMIO devirt 0xFED00000 (0x1 pages, 0x8000000000000001) skip 0 08:818 00:001 OCABC: MMIO devirt 0xFED40000 (0x5 pages, 0x8000000000000001) skip 0 08:819 00:001 OCABC: MMIO devirt 0xFED80000 (0x10 pages, 0x8000000000000001) skip 0 08:820 00:001 OCABC: MMIO devirt 0xFEDC2000 (0xE pages, 0x8000000000000001) skip 0 08:821 00:001 OCABC: MMIO devirt 0xFEDD4000 (0x2 pages, 0x8000000000000001) skip 0 08:822 00:001 OCABC: MMIO devirt 0xFEE00000 (0x100 pages, 0x8000000000000001) skip 0 08:823 00:001 OCABC: MMIO devirt 0xFF000000 (0x1000 pages, 0x8000000000000001) skip 0 08:825 00:001 OCABC: MMIO devirt 0x4040000000 (0x10400 pages, 0x8000000000000001) skip 0 08:826 00:001 OCABC: MMIO devirt 0x8BB0000000 (0x10400 pages, 0x8000000000000001) skip 0 08:827 00:001 OCABC: MMIO devirt 0x8BE0000000 (0x10400 pages, 0x8000000000000001) skip 0 08:828 00:001 OCABC: MMIO devirt 0xD750000000 (0x10400 pages, 0x8000000000000001) skip 0 E' di particolare importanza che queste aree possono essere diverse anche in condizioni di stesso BIOS e produttore, ma solo scambiando delle opzioni nel BIOS o riempendo gli slot nvme e pciexpress in maniera diversa. Nota: un errore comune e' prendere questa lista da una configurazione qualsiasi e inserirla nel proprio config.plist Va sempre necessariamente presa e calcolata nel sistema in uso e ricontrollata se si cambiano opzioni nel BIOS o si aggiunge hardware! Attivare il quirk comporta aver devirtualizzato le aree di memoria ed in alcuni casi liberati diversi megabyte di memoria (tipicamente dai 64 ai 256 Mb) fatto questo che consente ad alcuni sistemi problematici di partire senza avere il famigerato errore al boot (memory allocation errors), e questo proprio nelle fasi iniziali del boot. skip 0 significa area devirtualizzata e nel caso durante le sue operazioni interne macOS necessitasse di quell'area, non avendola a sua disposizione, si creerebbero mal funzionamenti o Kernel Panic. Su indicazioni dei devs di Opencore ci si e' concentrati sulle ultime 4 aree che sono quelle piu' corpose a livello di pagine da eventualmente devirtualizzare e con 16 combinazioni (4!) si stabili' che le patches del Kernel in uso allora erano malfunzionanti per i sistemi sTRX4. Trascuriamo ora questa affermazione rivelatasi poi non propriamente corretta, ma allora era praticamente un dato di fatto che porto' molti utenti sTRX4 con desiderio di utilizzare OSX sulle proprie macchine ad esplorare l'affascinante mondo della virtualizzazione con ProXmox. Ora le prove fatte all'epoca furono di riportare le ultime 4 aree a completo utilizzo di OSX (skip 1) in varie combinazioni (16). Come? Aggiungendo queste aree nella sezione Booter/MmioWhitelist del nostro config.plist. Per fare questo ci viene in aiuto la calcolatrice scientifica o la ottima app presente in area download HackCheck (visibile in foto) per il download clicca qui: https://www.macos86.it/files/file/95-hack-check/ ora concentriamoci solo sull'area: 08:828 00:001 OCABC: MMIO devirt 0xD750000000 (0x10400 pages, 0x8000000000000001) skip 0 e prendiamo il valore esadecimale 0xD750000000, questo andrà convertito in numero come da figura qui sotto: e andrà riportato precisamente nella apposita area del config.plist attivandolo: Dopo aver salvato il config.plist e riavviato avremo nel nostro successivo debug log questa situazione: 08:808 00:001 OCABC: MMIO devirt 0xE2100000 (0x81 pages, 0x8000000000000001) skip 0 08:809 00:001 OCABC: MMIO devirt 0xE3180000 (0x81 pages, 0x8000000000000001) skip 0 08:810 00:001 OCABC: MMIO devirt 0xEF100000 (0x181 pages, 0x8000000000000001) skip 0 08:811 00:001 OCABC: MMIO devirt 0xFA180000 (0x81 pages, 0x8000000000000001) skip 0 08:812 00:001 OCABC: MMIO devirt 0xFA300000 (0x100 pages, 0x8000000000000001) skip 0 08:813 00:001 OCABC: MMIO devirt 0xFEA00000 (0x100 pages, 0x8000000000000001) skip 0 08:814 00:001 OCABC: MMIO devirt 0xFEC00000 (0x1 pages, 0x8000000000000001) skip 0 08:816 00:001 OCABC: MMIO devirt 0xFEC10000 (0x1 pages, 0x8000000000000001) skip 0 08:817 00:001 OCABC: MMIO devirt 0xFED00000 (0x1 pages, 0x8000000000000001) skip 0 08:818 00:001 OCABC: MMIO devirt 0xFED40000 (0x5 pages, 0x8000000000000001) skip 0 08:819 00:001 OCABC: MMIO devirt 0xFED80000 (0x10 pages, 0x8000000000000001) skip 0 08:820 00:001 OCABC: MMIO devirt 0xFEDC2000 (0xE pages, 0x8000000000000001) skip 0 08:821 00:001 OCABC: MMIO devirt 0xFEDD4000 (0x2 pages, 0x8000000000000001) skip 0 08:822 00:001 OCABC: MMIO devirt 0xFEE00000 (0x100 pages, 0x8000000000000001) skip 0 08:823 00:001 OCABC: MMIO devirt 0xFF000000 (0x1000 pages, 0x8000000000000001) skip 0 08:825 00:001 OCABC: MMIO devirt 0x4040000000 (0x10400 pages, 0x8000000000000001) skip 0 08:826 00:001 OCABC: MMIO devirt 0x8BB0000000 (0x10400 pages, 0x8000000000000001) skip 0 08:827 00:001 OCABC: MMIO devirt 0x8BE0000000 (0x10400 pages, 0x8000000000000001) skip 0 08:828 00:001 OCABC: MMIO devirt 0xD750000000 (0x10400 pages, 0x8000000000000001) skip 1 Quindi l'area che abbiamo convertito e inserito nel config attivando YES ora e' listata nel config come skip 1. Che significa? Significa che ora questa area e' di nuovo a disposizione di OSX come se non avessimo attivato il quirk..ma solo lei. Se nella fortunata ipotesi che il nostro sistema parta ugualmente e arrivi al login, e' possibile procedere ad inserire ed attivare in MMIOWhitelist tutte le altre aree fino a quando non troviamo quella che e' deleteria nel nostro sistema. Quale e' un obiettivo utile per l'utente che necessita di utilizzare questa procedura? Riavere piu' skip 1 possibili! Se attivo il quirk DevirtualizeMMIO e metto tutte le aree in Whitelist che accade? Prima possibilità: - il sistema parte regolarmente! Bene avete perso un sacco di tempo perche' a voi non serve questa procedura! avere tutte le aree dichiarate e attivate nel config plist sezione Booter/MmmioWhitelist e' come lasciare il quirk DevirtualiseMMIO su OFF. Seconda possibilità: - il sistema non parte regolarmente! Benissimo e' per questo che avete attivato il quirk, se fosse possibile per noi mantenere tutto invariato non avremmo attivato il quirk. Quindi, di santa pazienza si provano a convertire uno ad uno tutti i valori ed ad inserirli in MMIOWhitelist (skip 1) fino a trovare quelli che non si possono inserire e che bloccano il proprio sistema. A questo punto, se le idee non si sono piu' ingarbugliate di quando avevate iniziato a leggere vi dovreste chiedere: Ma perche' fare questa operazione di ri-mettere a disposizione di OSX piu' aree possibili? Semplice, anche se il vostro pc parte e sembra funzionare correttamente solo attivando il quirk DevirtualiseMMIO, durante l'operatività quotidiana si potrebbero (si hanno di certo) dei problemi di KP, Reboot o semplicemente cattivi funzionamenti della Nvram e del ciclo sleep/wake. Quindi e' buona cosa perdere un po' di tempo ri-assegnandoli al libero utilizzo di OSX fino a quando non si trova o trovano quelli impossibili da riassegnare!
    3 points
  2. R-Drive Image v7.0.7001 - - Completamente stravolta, con un sacco di cose aggiunte, nel mio caso tutte da verificare, gli avevo richiesto tempo fa la gestione dei file VMDK: - 😀 - Continuo ad usare la vecchia versione dove sono sicuro al 100% e parallelamente faccio qualche test sulla nuova, di cui ancora non mi posso fidare. PS: Come interfaccia preferivo la vecchia, ma sappiamo che ad oggi bisogna innovare...
    1 point
×
×
  • 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.