Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

AMD CPU Support #5

Closed
Qonfused opened this issue Apr 1, 2024 · 1 comment
Closed

AMD CPU Support #5

Qonfused opened this issue Apr 1, 2024 · 1 comment
Assignees
Labels
status:done All issue tasks are completed. type:documentation Improvements or additions to documentation

Comments

@Qonfused
Copy link
Owner

Qonfused commented Apr 1, 2024

It hasn't been noted anywhere explicitly that AMD CPUs are supported. As is the case for newer Intel CPUs (see #2), the steps for patching AMD CPUs are the same as with bare metal.

Important

AMD CPUs require the Kernel -> Emulate -> DummyPowerManagement option to be enabled in the config.plist as AMD does not have a native power management driver in macOS:

Kernel:
  Emulate:
    DummyPowerManagement: | Boolean | true

Note that unlike bare metal, iGPU/APUs are not visible to the VM by default and require DDA support. Refer to the README for an overview of these limitations.

Follow the AMD section of the Dortania Install guide for your CPU family. However, in addition to the AMD kernel patches (for AMD CPU families 15h, 16h, 17h and 19h), the below kernel patch is required for High Sierra and above:

Kernel:
  Patch:
    - Arch:                 String  | "x86_64"
      Base:                 String  | "_cpu_syscall_init"
      Comment:              String  | "flagers - kill invalid wrmsr | 10.13+"
      Count:                Integer | 3
      Find:                 Data    | "0F30"
      Identifier:           String  | "kernel"
      MaxKernel:            String  | "24.99.99"
      MinKernel:            String  | "17.0.0"
      Replace:              Data    | "9090"

You can also manually add the below plist entry to your config.plist:

Plist entry (file: patch.plist.zip)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kernel</key>
    <dict>
        <key>Patch</key>
        <array>
            <dict>
                <key>Arch</key>
                <string>x86_64</string>
                <key>Base</key>
                <string>_cpu_syscall_init</string>
                <key>Comment</key>
                <string>flagers - kill invalid wrmsr | 10.13+</string>
                <key>Count</key>
                <integer>3</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>DzA=</data>
                <key>Identifier</key>
                <string>kernel</string>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>MaxKernel</key>
                <string>24.99.99</string>
                <key>MinKernel</key>
                <string>17.0.0</string>
                <key>Replace</key>
                <data>kJA=</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
            </dict>
        </array>
    </dict>
</dict>
</plist>
@Qonfused Qonfused added the type:documentation Improvements or additions to documentation label Apr 1, 2024
@Qonfused Qonfused self-assigned this Apr 1, 2024
@Qonfused Qonfused pinned this issue Apr 1, 2024
@Qonfused
Copy link
Owner Author

Qonfused commented Apr 24, 2024

Will close for tracking. If time permits, I'd still like to find a better or more precise solution for the latter kernel patch.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
status:done All issue tasks are completed. type:documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant