mirror of
https://github.com/mbilker/vgpu_unlock-rs.git
synced 2026-06-07 23:57:45 +02:00
lib: fix NV2080_CTRL_CMD_BUS_GET_PCI_INFO handling
- I broke the handling in the last commit because of the 0x10de being ignored
This commit is contained in:
11
src/lib.rs
11
src/lib.rs
@@ -598,8 +598,11 @@ pub unsafe extern "C" fn ioctl(fd: RawFd, request: c_ulong, argp: *mut c_void) -
|
|||||||
let devid_ptr: *mut u32 = io_data.params.add(0).cast();
|
let devid_ptr: *mut u32 = io_data.params.add(0).cast();
|
||||||
let subsysid_ptr: *mut u32 = io_data.params.add(4).cast();
|
let subsysid_ptr: *mut u32 = io_data.params.add(4).cast();
|
||||||
|
|
||||||
let actual_devid = *devid_ptr;
|
let orig_devid = *devid_ptr;
|
||||||
let actual_subsysid = *subsysid_ptr;
|
let orig_subsysid = *subsysid_ptr;
|
||||||
|
|
||||||
|
let actual_devid = orig_devid & 0xffff;
|
||||||
|
let actual_subsysid = orig_subsysid & 0xffff;
|
||||||
|
|
||||||
let (spoofed_devid, spoofed_subsysid) = match actual_devid {
|
let (spoofed_devid, spoofed_subsysid) = match actual_devid {
|
||||||
// Maxwell
|
// Maxwell
|
||||||
@@ -638,8 +641,8 @@ pub unsafe extern "C" fn ioctl(fd: RawFd, request: c_ulong, argp: *mut c_void) -
|
|||||||
_ => (actual_devid, actual_subsysid),
|
_ => (actual_devid, actual_subsysid),
|
||||||
};
|
};
|
||||||
|
|
||||||
*devid_ptr = spoofed_devid;
|
*devid_ptr = (orig_devid & 0xffff0000) | spoofed_devid;
|
||||||
*subsysid_ptr = spoofed_subsysid;
|
*subsysid_ptr = (orig_subsysid & 0xffff0000) | spoofed_subsysid;
|
||||||
}
|
}
|
||||||
NV0080_CTRL_CMD_GPU_GET_VIRTUALIZATION_MODE
|
NV0080_CTRL_CMD_GPU_GET_VIRTUALIZATION_MODE
|
||||||
if check_size!(NV0080_CTRL_CMD_GPU_GET_VIRTUALIZATION_MODE, u32) && CONFIG.unlock =>
|
if check_size!(NV0080_CTRL_CMD_GPU_GET_VIRTUALIZATION_MODE, u32) && CONFIG.unlock =>
|
||||||
|
|||||||
Reference in New Issue
Block a user