Fix NV ioctl nameclashes...

...with bsd ioctls (coming soon) & C++ stdlib
This commit is contained in:
TuxSH 2018-02-08 01:05:19 +01:00 committed by plutoo
parent 7ef73113cb
commit 507bf71a7b
7 changed files with 131 additions and 131 deletions

View File

@ -2,46 +2,46 @@
//The below defines are from Linux kernel ioctl.h. //The below defines are from Linux kernel ioctl.h.
#define _IOC_NRBITS 8 #define _NV_IOC_NRBITS 8
#define _IOC_TYPEBITS 8 #define _NV_IOC_TYPEBITS 8
#define _IOC_SIZEBITS 14 #define _NV_IOC_SIZEBITS 14
#define _IOC_DIRBITS 2 #define _NV_IOC_DIRBITS 2
#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) #define _NV_IOC_NRMASK ((1 << _NV_IOC_NRBITS)-1)
#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1) #define _NV_IOC_TYPEMASK ((1 << _NV_IOC_TYPEBITS)-1)
#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1) #define _NV_IOC_SIZEMASK ((1 << _NV_IOC_SIZEBITS)-1)
#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1) #define _NV_IOC_DIRMASK ((1 << _NV_IOC_DIRBITS)-1)
#define _IOC_NRSHIFT 0 #define _NV_IOC_NRSHIFT 0
#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS) #define _NV_IOC_TYPESHIFT (_NV_IOC_NRSHIFT+_NV_IOC_NRBITS)
#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS) #define _NV_IOC_SIZESHIFT (_NV_IOC_TYPESHIFT+_NV_IOC_TYPEBITS)
#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS) #define _NV_IOC_DIRSHIFT (_NV_IOC_SIZESHIFT+_NV_IOC_SIZEBITS)
/* /*
* Direction bits. * Direction bits.
*/ */
#define _IOC_NONE 0U #define _NV_IOC_NONE 0U
#define _IOC_WRITE 1U #define _NV_IOC_WRITE 1U
#define _IOC_READ 2U #define _NV_IOC_READ 2U
#define _IOC(dir,type,nr,size) \ #define _NV_IOC(dir,type,nr,size) \
(((dir) << _IOC_DIRSHIFT) | \ (((dir) << _NV_IOC_DIRSHIFT) | \
((type) << _IOC_TYPESHIFT) | \ ((type) << _NV_IOC_TYPESHIFT) | \
((nr) << _IOC_NRSHIFT) | \ ((nr) << _NV_IOC_NRSHIFT) | \
((size) << _IOC_SIZESHIFT)) ((size) << _NV_IOC_SIZESHIFT))
/* used to create numbers */ /* used to create numbers */
#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) #define _NV_IO(type,nr) _NV_IOC(_NV_IOC_NONE,(type),(nr),0)
#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) #define _NV_IOR(type,nr,size) _NV_IOC(_NV_IOC_READ,(type),(nr),sizeof(size))
#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) #define _NV_IOW(type,nr,size) _NV_IOC(_NV_IOC_WRITE,(type),(nr),sizeof(size))
#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) #define _NV_IOWR(type,nr,size) _NV_IOC(_NV_IOC_READ|_NV_IOC_WRITE,(type),(nr),sizeof(size))
/* used to decode ioctl numbers.. */ /* used to decode ioctl numbers.. */
#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) #define _NV_IOC_DIR(nr) (((nr) >> _NV_IOC_DIRSHIFT) & _NV_IOC_DIRMASK)
#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) #define _NV_IOC_TYPE(nr) (((nr) >> _NV_IOC_TYPESHIFT) & _NV_IOC_TYPEMASK)
#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) #define _NV_IOC_NR(nr) (((nr) >> _NV_IOC_NRSHIFT) & _NV_IOC_NRMASK)
#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) #define _NV_IOC_SIZE(nr) (((nr) >> _NV_IOC_SIZESHIFT) & _NV_IOC_SIZEMASK)
#define _in_ #define __nv_in
#define _out_ #define __nv_out
#define _inout_ #define __nv_inout

View File

@ -7,13 +7,13 @@
Result nvioctlChannel_SetNvmapFd(u32 fd, u32 nvmap_fd) { Result nvioctlChannel_SetNvmapFd(u32 fd, u32 nvmap_fd) {
struct { struct {
_in_ u32 fd; __nv_in u32 fd;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.fd = nvmap_fd; data.fd = nvmap_fd;
return nvIoctl(fd, _IOW(0x48, 0x01, data), &data); return nvIoctl(fd, _NV_IOW(0x48, 0x01, data), &data);
} }
Result nvioctlChannel_SubmitGpfifo(u32 fd, nvioctl_gpfifo_entry *entries, u32 num_entries, u32 flags, nvioctl_fence *fence_out) { Result nvioctlChannel_SubmitGpfifo(u32 fd, nvioctl_gpfifo_entry *entries, u32 num_entries, u32 flags, nvioctl_fence *fence_out) {
@ -24,11 +24,11 @@ Result nvioctlChannel_SubmitGpfifo(u32 fd, nvioctl_gpfifo_entry *entries, u32 nu
return MAKERESULT(Module_Libnx, LibnxError_OutOfMemory); return MAKERESULT(Module_Libnx, LibnxError_OutOfMemory);
struct { struct {
_in_ u64 gpfifo; // (ignored) pointer to gpfifo entry structs __nv_in u64 gpfifo; // (ignored) pointer to gpfifo entry structs
_in_ u32 num_entries; // number of entries being submitted __nv_in u32 num_entries; // number of entries being submitted
_in_ u32 flags; __nv_in u32 flags;
_out_ nvioctl_fence fence_out; // returned new fence object for others to wait on __nv_out nvioctl_fence fence_out; // returned new fence object for others to wait on
_in_ nvioctl_gpfifo_entry entries[num_entries]; // depends on num_entries __nv_in nvioctl_gpfifo_entry entries[num_entries]; // depends on num_entries
} data; } data;
@ -38,7 +38,7 @@ Result nvioctlChannel_SubmitGpfifo(u32 fd, nvioctl_gpfifo_entry *entries, u32 nu
data.flags = flags; data.flags = flags;
memcpy(data.entries, entries, sizeof(data.entries)); memcpy(data.entries, entries, sizeof(data.entries));
rc = nvIoctl(fd, _IOWR(0x48, 0x08, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x48, 0x08, data), &data);
if (R_SUCCEEDED(rc) && fence_out) { if (R_SUCCEEDED(rc) && fence_out) {
memcpy(fence_out, &data.fence_out, sizeof(data.fence_out)); memcpy(fence_out, &data.fence_out, sizeof(data.fence_out));
@ -49,9 +49,9 @@ Result nvioctlChannel_SubmitGpfifo(u32 fd, nvioctl_gpfifo_entry *entries, u32 nu
Result nvioctlChannel_AllocObjCtx(u32 fd, u32 class_num, u32 flags) { Result nvioctlChannel_AllocObjCtx(u32 fd, u32 class_num, u32 flags) {
struct { struct {
_in_ u32 class_num; __nv_in u32 class_num;
_in_ u32 flags; __nv_in u32 flags;
_in_ u64 obj_id; // (ignored) used for FREE_OBJ_CTX ioctl, which is not supported __nv_in u64 obj_id; // (ignored) used for FREE_OBJ_CTX ioctl, which is not supported
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
@ -59,28 +59,28 @@ Result nvioctlChannel_AllocObjCtx(u32 fd, u32 class_num, u32 flags) {
data.flags = flags; data.flags = flags;
data.obj_id = 0xDEADBEEF; data.obj_id = 0xDEADBEEF;
return nvIoctl(fd, _IOWR(0x48, 0x09, data), &data); return nvIoctl(fd, _NV_IOWR(0x48, 0x09, data), &data);
} }
Result nvioctlChannel_ZCullBind(u32 fd, u64 gpu_va, u32 mode) { Result nvioctlChannel_ZCullBind(u32 fd, u64 gpu_va, u32 mode) {
struct { struct {
_in_ u64 gpu_va; __nv_in u64 gpu_va;
_in_ u32 mode; __nv_in u32 mode;
_in_ u32 padding; __nv_in u32 padding;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.gpu_va = gpu_va; data.gpu_va = gpu_va;
data.mode = mode; data.mode = mode;
return nvIoctl(fd, _IOWR(0x48, 0x0B, data), &data); return nvIoctl(fd, _NV_IOWR(0x48, 0x0B, data), &data);
} }
Result nvioctlChannel_SetErrorNotifier(u32 fd, u64 offset, u64 size, u32 nvmap_handle) { Result nvioctlChannel_SetErrorNotifier(u32 fd, u64 offset, u64 size, u32 nvmap_handle) {
struct { struct {
_in_ u64 offset; __nv_in u64 offset;
_in_ u64 size; __nv_in u64 size;
_in_ u32 nvmap_handle; __nv_in u32 nvmap_handle;
u32 padding; u32 padding;
} data; } data;
@ -89,31 +89,31 @@ Result nvioctlChannel_SetErrorNotifier(u32 fd, u64 offset, u64 size, u32 nvmap_h
data.size = size; data.size = size;
data.nvmap_handle = nvmap_handle; data.nvmap_handle = nvmap_handle;
return nvIoctl(fd, _IOWR(0x48, 0x0C, data), &data); return nvIoctl(fd, _NV_IOWR(0x48, 0x0C, data), &data);
} }
Result nvioctlChannel_SetPriority(u32 fd, u32 priority) { Result nvioctlChannel_SetPriority(u32 fd, u32 priority) {
struct { struct {
_in_ u32 priority; // 0x32 is low, 0x64 is medium and 0x96 is high __nv_in u32 priority; // 0x32 is low, 0x64 is medium and 0x96 is high
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.priority = priority; data.priority = priority;
return nvIoctl(fd, _IOW(0x48, 0x0D, data), &data); return nvIoctl(fd, _NV_IOW(0x48, 0x0D, data), &data);
} }
Result nvioctlChannel_AllocGpfifoEx2(u32 fd, u32 num_entries, u32 flags, u32 unk0, u32 unk1, u32 unk2, u32 unk3, nvioctl_fence *fence_out) { Result nvioctlChannel_AllocGpfifoEx2(u32 fd, u32 num_entries, u32 flags, u32 unk0, u32 unk1, u32 unk2, u32 unk3, nvioctl_fence *fence_out) {
Result rc=0; Result rc=0;
struct { struct {
_in_ u32 num_entries; __nv_in u32 num_entries;
_in_ u32 flags; __nv_in u32 flags;
_in_ u32 unk0; // (1 works) __nv_in u32 unk0; // (1 works)
_out_ nvioctl_fence fence_out; __nv_out nvioctl_fence fence_out;
_in_ u32 unk1; __nv_in u32 unk1;
_in_ u32 unk2; __nv_in u32 unk2;
_in_ u32 unk3; __nv_in u32 unk3;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
@ -124,7 +124,7 @@ Result nvioctlChannel_AllocGpfifoEx2(u32 fd, u32 num_entries, u32 flags, u32 unk
data.unk2 = unk2; data.unk2 = unk2;
data.unk3 = unk3; data.unk3 = unk3;
rc = nvIoctl(fd, _IOWR(0x48, 0x1A, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x48, 0x1A, data), &data);
if (R_SUCCEEDED(rc) && fence_out) { if (R_SUCCEEDED(rc) && fence_out) {
memcpy(fence_out, &data.fence_out, sizeof(data.fence_out)); memcpy(fence_out, &data.fence_out, sizeof(data.fence_out));
@ -135,11 +135,11 @@ Result nvioctlChannel_AllocGpfifoEx2(u32 fd, u32 num_entries, u32 flags, u32 unk
Result nvioctlChannel_SetUserData(u32 fd, void* addr) { Result nvioctlChannel_SetUserData(u32 fd, void* addr) {
struct { struct {
_in_ u64 addr; __nv_in u64 addr;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.addr = (u64)addr; data.addr = (u64)addr;
return nvIoctl(fd, _IOW(0x47, 0x14, data), &data); return nvIoctl(fd, _NV_IOW(0x47, 0x14, data), &data);
} }

View File

@ -7,26 +7,26 @@
Result nvioctlNvhostAsGpu_BindChannel(u32 fd, u32 channel_fd) { Result nvioctlNvhostAsGpu_BindChannel(u32 fd, u32 channel_fd) {
struct { struct {
_in_ u32 fd; __nv_in u32 fd;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.fd = channel_fd; data.fd = channel_fd;
return nvIoctl(fd, _IOW(0x41, 0x01, data), &data); return nvIoctl(fd, _NV_IOW(0x41, 0x01, data), &data);
} }
Result nvioctlNvhostAsGpu_AllocSpace(u32 fd, u32 pages, u32 page_size, u32 flags, u64 align, u64 *offset) { Result nvioctlNvhostAsGpu_AllocSpace(u32 fd, u32 pages, u32 page_size, u32 flags, u64 align, u64 *offset) {
Result rc = 0; Result rc = 0;
struct { struct {
_in_ u32 pages; __nv_in u32 pages;
_in_ u32 page_size; __nv_in u32 page_size;
_in_ u32 flags; __nv_in u32 flags;
u32 pad; u32 pad;
union { union {
_out_ u64 offset; __nv_out u64 offset;
_in_ u64 align; __nv_in u64 align;
}; };
} data; } data;
@ -36,7 +36,7 @@ Result nvioctlNvhostAsGpu_AllocSpace(u32 fd, u32 pages, u32 page_size, u32 flags
data.flags = flags; data.flags = flags;
data.align = align; data.align = align;
rc = nvIoctl(fd, _IOWR(0x41, 0x02, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x41, 0x02, data), &data);
if (R_FAILED(rc)) return rc; if (R_FAILED(rc)) return rc;
*offset = data.offset; *offset = data.offset;
@ -51,13 +51,13 @@ Result nvioctlNvhostAsGpu_MapBufferEx(
Result rc = 0; Result rc = 0;
struct { struct {
_in_ u32 flags; // bit0: fixed_offset, bit2: cacheable __nv_in u32 flags; // bit0: fixed_offset, bit2: cacheable
_in_ u32 kind; // -1 is default __nv_in u32 kind; // -1 is default
_in_ u32 nvmap_handle; __nv_in u32 nvmap_handle;
_inout_ u32 page_size; // 0 means don't care __nv_inout u32 page_size; // 0 means don't care
_in_ u64 buffer_offset; __nv_in u64 buffer_offset;
_in_ u64 mapping_size; __nv_in u64 mapping_size;
_inout_ u64 offset; __nv_inout u64 offset;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
@ -69,7 +69,7 @@ Result nvioctlNvhostAsGpu_MapBufferEx(
data.mapping_size = mapping_size; data.mapping_size = mapping_size;
data.offset = input_offset; data.offset = input_offset;
rc = nvIoctl(fd, _IOWR(0x41, 0x06, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x41, 0x06, data), &data);
if (R_SUCCEEDED(rc) && offset) { if (R_SUCCEEDED(rc) && offset) {
*offset = data.offset; *offset = data.offset;
@ -83,15 +83,15 @@ Result nvioctlNvhostAsGpu_GetVARegions(u32 fd, nvioctl_va_region regions[2]) {
struct { struct {
u64 not_used; // contained output user ptr on linux, ignored u64 not_used; // contained output user ptr on linux, ignored
_inout_ u32 bufsize; // forced to 2*sizeof(struct va_region) __nv_inout u32 bufsize; // forced to 2*sizeof(struct va_region)
u32 pad; u32 pad;
_out_ nvioctl_va_region regions[2]; __nv_out nvioctl_va_region regions[2];
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.bufsize = sizeof(data.regions); data.bufsize = sizeof(data.regions);
rc = nvIoctl(fd, _IOWR(0x41, 0x08, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x41, 0x08, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
memcpy(regions, data.regions, sizeof(data.regions)); memcpy(regions, data.regions, sizeof(data.regions));
@ -102,18 +102,18 @@ Result nvioctlNvhostAsGpu_GetVARegions(u32 fd, nvioctl_va_region regions[2]) {
Result nvioctlNvhostAsGpu_InitializeEx(u32 fd, u32 big_page_size, u32 flags) { Result nvioctlNvhostAsGpu_InitializeEx(u32 fd, u32 big_page_size, u32 flags) {
struct { struct {
_in_ u32 big_page_size; // depends on GPU's available_big_page_sizes; 0=default __nv_in u32 big_page_size; // depends on GPU's available_big_page_sizes; 0=default
_in_ s32 as_fd; // ignored; passes 0 __nv_in s32 as_fd; // ignored; passes 0
_in_ u32 flags; // ignored; passes 0 __nv_in u32 flags; // ignored; passes 0
_in_ u32 reserved; // ignored; passes 0 __nv_in u32 reserved; // ignored; passes 0
_in_ u64 unk0; __nv_in u64 unk0;
_in_ u64 unk1; __nv_in u64 unk1;
_in_ u64 unk2; __nv_in u64 unk2;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.big_page_size = big_page_size; data.big_page_size = big_page_size;
data.flags = flags; data.flags = flags;
return nvIoctl(fd, _IOW(0x41, 0x09, data), &data); return nvIoctl(fd, _NV_IOW(0x41, 0x09, data), &data);
} }

View File

@ -9,12 +9,12 @@ Result nvioctlNvhostCtrlGpu_ZCullGetCtxSize(u32 fd, u32 *out) {
Result rc = 0; Result rc = 0;
struct { struct {
_out_ u32 out; __nv_out u32 out;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
rc = nvIoctl(fd, _IOR(0x47, 0x01, data), &data); rc = nvIoctl(fd, _NV_IOR(0x47, 0x01, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
*out = data.out; *out = data.out;
@ -27,12 +27,12 @@ Result nvioctlNvhostCtrlGpu_ZCullGetInfo(u32 fd, u32 out[40>>2]) {
Result rc = 0; Result rc = 0;
struct { struct {
_out_ u32 out[40>>2]; __nv_out u32 out[40>>2];
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
rc = nvIoctl(fd, _IOR(0x47, 0x02, data), &data); rc = nvIoctl(fd, _NV_IOR(0x47, 0x02, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
memcpy(out, data.out, sizeof(data.out)); memcpy(out, data.out, sizeof(data.out));
@ -45,16 +45,16 @@ Result nvioctlNvhostCtrlGpu_GetCharacteristics(u32 fd, gpu_characteristics *out)
Result rc = 0; Result rc = 0;
struct { struct {
_in_ u64 gc_buf_size; // must not be NULL, but gets overwritten with 0xA0=max_size __nv_in u64 gc_buf_size; // must not be NULL, but gets overwritten with 0xA0=max_size
_in_ u64 gc_buf_addr; // ignored, but must not be NULL __nv_in u64 gc_buf_addr; // ignored, but must not be NULL
_out_ gpu_characteristics gc; __nv_out gpu_characteristics gc;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.gc_buf_size = sizeof(gpu_characteristics); data.gc_buf_size = sizeof(gpu_characteristics);
data.gc_buf_addr = 1; data.gc_buf_addr = 1;
rc = nvIoctl(fd, _IOWR(0x47, 0x05, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x47, 0x05, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
memcpy(out, &data.gc, sizeof(gpu_characteristics)); memcpy(out, &data.gc, sizeof(gpu_characteristics));
@ -68,14 +68,14 @@ Result nvioctlNvhostCtrlGpu_GetTpcMasks(u32 fd, u32 inval, u32 out[24>>2]) {
// Fixme: This one is wrong. // Fixme: This one is wrong.
struct { struct {
_inout_ u32 unk[24>>2]; __nv_inout u32 unk[24>>2];
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.unk[0] = inval; data.unk[0] = inval;
data.unk[2] = 1; //addr? data.unk[2] = 1; //addr?
rc = nvIoctl(fd, _IOWR(0x47, 0x06, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x47, 0x06, data), &data);
if (R_FAILED(rc)) return rc; if (R_FAILED(rc)) return rc;
memcpy(out, &data.unk, sizeof(data.unk)); memcpy(out, &data.unk, sizeof(data.unk));
@ -87,12 +87,12 @@ Result nvioctlNvhostCtrlGpu_GetL2State(u32 fd, nvioctl_l2_state *out) {
Result rc = 0; Result rc = 0;
struct { struct {
_out_ nvioctl_l2_state out; __nv_out nvioctl_l2_state out;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
rc = nvIoctl(fd, _IOR(0x47, 0x14, data), &data); rc = nvIoctl(fd, _NV_IOR(0x47, 0x14, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
memcpy(out, &data.out, sizeof(data.out)); memcpy(out, &data.out, sizeof(data.out));

View File

@ -7,13 +7,13 @@
Result nvioctlNvhostCtrl_EventSignal(u32 fd, u32 event_id) { Result nvioctlNvhostCtrl_EventSignal(u32 fd, u32 event_id) {
struct { struct {
_in_ u32 event_id; __nv_in u32 event_id;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.event_id = event_id; data.event_id = event_id;
return nvIoctl(fd, _IOWR(0x00, 0x1C, data), &data); return nvIoctl(fd, _NV_IOWR(0x00, 0x1C, data), &data);
} }
Result nvioctlNvhostCtrl_EventWait(u32 fd, u32 syncpt_id, u32 threshold, s32 timeout, u32 event_id, u32 *out) Result nvioctlNvhostCtrl_EventWait(u32 fd, u32 syncpt_id, u32 threshold, s32 timeout, u32 event_id, u32 *out)
@ -21,10 +21,10 @@ Result nvioctlNvhostCtrl_EventWait(u32 fd, u32 syncpt_id, u32 threshold, s32 tim
Result rc = 0; Result rc = 0;
struct { struct {
_in_ u32 syncpt_id; __nv_in u32 syncpt_id;
_in_ u32 threshold; __nv_in u32 threshold;
_in_ s32 timeout; __nv_in s32 timeout;
_inout_ u32 value; __nv_inout u32 value;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
@ -33,7 +33,7 @@ Result nvioctlNvhostCtrl_EventWait(u32 fd, u32 syncpt_id, u32 threshold, s32 tim
data.timeout = timeout; data.timeout = timeout;
data.value = event_id; data.value = event_id;
rc = nvIoctl(fd, _IOWR(0x00, 0x1D, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x00, 0x1D, data), &data);
if (R_SUCCEEDED(rc)) if (R_SUCCEEDED(rc))
*out = data.value; *out = data.value;
@ -43,11 +43,11 @@ Result nvioctlNvhostCtrl_EventWait(u32 fd, u32 syncpt_id, u32 threshold, s32 tim
Result nvioctlNvhostCtrl_EventRegister(u32 fd, u32 event_id) { Result nvioctlNvhostCtrl_EventRegister(u32 fd, u32 event_id) {
struct { struct {
_in_ u32 event_id; __nv_in u32 event_id;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.event_id = event_id; data.event_id = event_id;
return nvIoctl(fd, _IOWR(0x40, 0x1F, data), &data); return nvIoctl(fd, _NV_IOWR(0x40, 0x1F, data), &data);
} }

View File

@ -9,14 +9,14 @@ Result nvioctlNvmap_Create(u32 fd, u32 size, u32 *nvmap_handle) {
Result rc=0; Result rc=0;
struct { struct {
_in_ u32 size; __nv_in u32 size;
_out_ u32 handle; __nv_out u32 handle;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.size = size; data.size = size;
rc = nvIoctl(fd, _IOWR(0x01, 0x01, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x01, 0x01, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
*nvmap_handle = data.handle; *nvmap_handle = data.handle;
@ -29,14 +29,14 @@ Result nvioctlNvmap_FromId(u32 fd, u32 id, u32 *nvmap_handle) {
Result rc=0; Result rc=0;
struct { struct {
_in_ u32 id; __nv_in u32 id;
_out_ u32 handle; __nv_out u32 handle;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.id = id; data.id = id;
rc = nvIoctl(fd, _IOWR(0x01, 0x03, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x01, 0x03, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
*nvmap_handle = data.handle; *nvmap_handle = data.handle;
@ -47,13 +47,13 @@ Result nvioctlNvmap_FromId(u32 fd, u32 id, u32 *nvmap_handle) {
Result nvioctlNvmap_Alloc(u32 fd, u32 nvmap_handle, u32 heapmask, u32 flags, u32 align, u8 kind, void* addr) { Result nvioctlNvmap_Alloc(u32 fd, u32 nvmap_handle, u32 heapmask, u32 flags, u32 align, u8 kind, void* addr) {
struct { struct {
_in_ u32 handle; __nv_in u32 handle;
_in_ u32 heapmask; __nv_in u32 heapmask;
_in_ u32 flags; // (0=read-only, 1=read-write) __nv_in u32 flags; // (0=read-only, 1=read-write)
_in_ u32 align; __nv_in u32 align;
_in_ u8 kind; __nv_in u8 kind;
u8 pad[7]; u8 pad[7];
_in_ u64 addr; __nv_in u64 addr;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
@ -64,21 +64,21 @@ Result nvioctlNvmap_Alloc(u32 fd, u32 nvmap_handle, u32 heapmask, u32 flags, u32
data.kind = kind; data.kind = kind;
data.addr = (u64)addr; data.addr = (u64)addr;
return nvIoctl(fd, _IOWR(0x01, 0x04, data), &data); return nvIoctl(fd, _NV_IOWR(0x01, 0x04, data), &data);
} }
Result nvioctlNvmap_GetId(u32 fd, u32 nvmap_handle, u32 *id) { Result nvioctlNvmap_GetId(u32 fd, u32 nvmap_handle, u32 *id) {
Result rc=0; Result rc=0;
struct { struct {
_out_ u32 id; __nv_out u32 id;
_in_ u32 handle; __nv_in u32 handle;
} data; } data;
memset(&data, 0, sizeof(data)); memset(&data, 0, sizeof(data));
data.handle = nvmap_handle; data.handle = nvmap_handle;
rc = nvIoctl(fd, _IOWR(0x01, 0x0E, data), &data); rc = nvIoctl(fd, _NV_IOWR(0x01, 0x0E, data), &data);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
*id = data.id; *id = data.id;

View File

@ -199,18 +199,18 @@ Result nvIoctl(u32 fd, u32 request, void* argp) {
u32 request; u32 request;
} *raw; } *raw;
size_t bufsize = _IOC_SIZE(request); size_t bufsize = _NV_IOC_SIZE(request);
u32 dir = _IOC_DIR(request); u32 dir = _NV_IOC_DIR(request);
void* buf_send = NULL, *buf_recv = NULL; void* buf_send = NULL, *buf_recv = NULL;
size_t buf_send_size = 0, buf_recv_size = 0; size_t buf_send_size = 0, buf_recv_size = 0;
if(dir & _IOC_WRITE) { if(dir & _NV_IOC_WRITE) {
buf_send = argp; buf_send = argp;
buf_send_size = bufsize; buf_send_size = bufsize;
} }
if(dir & _IOC_READ) { if(dir & _NV_IOC_READ) {
buf_recv = argp; buf_recv = argp;
buf_recv_size = bufsize; buf_recv_size = bufsize;
} }