hardware.cpu: add iommu flags

This commit is contained in:
陈浩南 2024-06-05 11:34:43 +08:00
parent 837c6ff2d5
commit 4cba5c0160
3 changed files with 10 additions and 7 deletions

View File

@ -55,7 +55,6 @@ inputs:
}; };
bugs = [ "xmunet" "suspend-hibernate-no-platform" ]; bugs = [ "xmunet" "suspend-hibernate-no-platform" ];
}; };
boot.kernelParams = [ "intel_iommu=off" ];
environment.systemPackages = with inputs.pkgs; [ maliit-keyboard maliit-framework ]; environment.systemPackages = with inputs.pkgs; [ maliit-keyboard maliit-framework ];
powerManagement.resumeCommands = ''${inputs.pkgs.systemd}/bin/systemctl restart iptsd''; powerManagement.resumeCommands = ''${inputs.pkgs.systemd}/bin/systemctl restart iptsd'';
services.iptsd.config = services.iptsd.config =

View File

@ -50,9 +50,10 @@ inputs:
{ {
hardware.cpu = builtins.listToAttrs hardware.cpu = builtins.listToAttrs
(map (name: { inherit name; value = { updateMicrocode = true; }; }) hardware.cpus); (map (name: { inherit name; value = { updateMicrocode = true; }; }) hardware.cpus);
boot.initrd.availableKernelModules = boot =
let {
modules = initrd.availableKernelModules =
let modules =
{ {
intel = intel =
[ [
@ -60,8 +61,11 @@ inputs:
]; ];
amd = []; amd = [];
}; };
in in builtins.concatLists (map (cpu: modules.${cpu}) hardware.cpus);
builtins.concatLists (map (cpu: modules.${cpu}) hardware.cpus); kernelParams =
let params = { intel = [ "intel_iommu=off" ]; amd = [ "amd_iommu=fullflush" ]; };
in builtins.concatLists (map (cpu: params.${cpu}) hardware.cpus);
};
} }
) )
]; ];

View File

@ -67,7 +67,7 @@ inputs:
boot = boot =
{ {
kernelParams = inputs.lib.mkIf (builtins.elem "amd" gpus) kernelParams = inputs.lib.mkIf (builtins.elem "amd" gpus)
[ "radeon.cik_support=0" "amdgpu.cik_support=1" "radeon.si_support=0" "amdgpu.si_support=1" "iommu=pt" ]; [ "radeon.cik_support=0" "amdgpu.cik_support=1" "radeon.si_support=0" "amdgpu.si_support=1" ];
blacklistedKernelModules = [ "nouveau" ]; blacklistedKernelModules = [ "nouveau" ];
}; };
environment.variables.VDPAU_DRIVER = inputs.lib.mkIf (builtins.elem "intel" gpus) "va_gl"; environment.variables.VDPAU_DRIVER = inputs.lib.mkIf (builtins.elem "intel" gpus) "va_gl";