Code Monkey home page Code Monkey logo

platbox's People

Contributors

droogie avatar n3k avatar solardiz avatar yeggor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

platbox's Issues

[feature request] Add a CLI command to dump Intel MCHBAR

Similar to how inteltool --mchbar works in Linux, the issue is that I don't know if there's an easy way to determine the size of the MCHBAR (it's usually 0x6000 or 0x8000) and the fact that when you try reading from the invalid offsets of physical memory, the system goes into a full freeze, no bugchecks caused.

Tools like AIDA64 and HWinfo64 do it just fine, so there must be a way.

image

"chipset" command freezes on Ryzen 9 7945HX platform

Hello,

On my Ryzen 9 7945HX, the chipset command does not work properly. I will provide the log with debug messages enabled:

>>> debug
-> Debug: enabled
>>> chipset
Detected chipset:
=> Family: 19
=> Model: 61

-> One dword read from 00:14:03 offset 00000000h: 790e1022h
-> One dword read from 00:14:03 offset 00000004h: 0220000fh
-> One dword read from 00:14:03 offset 00000008h: 06010051h
-> One dword read from 00:14:03 offset 0000000ch: 00800000h
-> One dword read from 00:14:03 offset 00000010h: 00000000h
-> One dword read from 00:14:03 offset 00000014h: 00000000h
-> One dword read from 00:14:03 offset 00000018h: 00000000h
-> One dword read from 00:14:03 offset 0000001ch: 00000000h
-> One dword read from 00:14:03 offset 00000020h: 00000000h
-> One dword read from 00:14:03 offset 00000024h: 00000000h
-> One dword read from 00:14:03 offset 00000028h: 00000000h
-> One dword read from 00:14:03 offset 0000002ch: 14331043h
-> One dword read from 00:14:03 offset 00000030h: 00000000h
-> One dword read from 00:14:03 offset 00000034h: 00000000h
-> One dword read from 00:14:03 offset 00000038h: 00000000h
-> One dword read from 00:14:03 offset 0000003ch: 00000000h
-> One dword read from 00:14:03 offset 00000040h: 0000001ch
-> One dword read from 00:14:03 offset 00000044h: ffffffffh
-> One dword read from 00:14:03 offset 00000048h: ffffffffh
-> One dword read from 00:14:03 offset 0000004ch: ffffffffh
-> One dword read from 00:14:03 offset 00000050h: ffffffffh
-> One dword read from 00:14:03 offset 00000054h: ffffffffh
-> One dword read from 00:14:03 offset 00000058h: ffffffffh
-> One dword read from 00:14:03 offset 0000005ch: ffffffffh
-> One dword read from 00:14:03 offset 00000060h: ffffffffh
-> One dword read from 00:14:03 offset 00000064h: ffffffffh
-> One dword read from 00:14:03 offset 00000068h: ffffffffh
-> One dword read from 00:14:03 offset 0000006ch: ffffffffh
-> One dword read from 00:14:03 offset 00000070h: ffffffffh
-> One dword read from 00:14:03 offset 00000074h: ffffffffh
-> One dword read from 00:14:03 offset 00000078h: ffffffffh
-> One dword read from 00:14:03 offset 0000007ch: ffffffffh
-> One dword read from 00:14:03 offset 00000080h: ffffffffh
-> One dword read from 00:14:03 offset 00000084h: ffffffffh
-> One dword read from 00:14:03 offset 00000088h: ffffffffh
-> One dword read from 00:14:03 offset 0000008ch: ffffffffh
-> One dword read from 00:14:03 offset 00000090h: ffffffffh
-> One dword read from 00:14:03 offset 00000094h: ffffffffh
-> One dword read from 00:14:03 offset 00000098h: ffffffffh
-> One dword read from 00:14:03 offset 0000009ch: ffffffffh
-> One dword read from 00:14:03 offset 000000a0h: ffffffffh
-> One dword read from 00:14:03 offset 000000a4h: ffffffffh
-> One dword read from 00:14:03 offset 000000a8h: ffffffffh
-> One dword read from 00:14:03 offset 000000ach: ffffffffh
-> One dword read from 00:14:03 offset 000000b0h: ffffffffh
-> One dword read from 00:14:03 offset 000000b4h: ffffffffh
-> One dword read from 00:14:03 offset 000000b8h: ffffffffh
-> One dword read from 00:14:03 offset 000000bch: ffffffffh
-> One dword read from 00:14:03 offset 000000c0h: ffffffffh
-> One dword read from 00:14:03 offset 000000c4h: ffffffffh
-> MSR:[c0010058]: 00000000F000001D
-> 000000c4 bytes read from physical Memory 00000000FFFFFFC0
-> Successfully mapped physaddr ffffffc0 to 0000022684860FC0

Linux support

Is this suppose to work on Linux. My attempts to get it running are met with
"install_driver Unimplemented!" and
"start_service Unimplemented!"

I cloned the repo and did ./build.sh in the main directory. I cded to Platbox/compiled
and tried to get both the paltboc_cli and the example to work but were meant with the unimplemented errors.

I wanted to make sure I wasn't doing something wrong before looking at writing the linux support.

PlatboxDrv cannot be compiled on Linux

Hello. I cannot compile the kernetix driver on Linux:

[moldimolt@localhost-live driver]$ make
make -C /lib/modules/6.4.15-200.fc38.x86_64/build M=/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver clean
make -C /lib/modules/6.4.15-200.fc38.x86_64/build M=/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver modules
  CC [M]  /home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.o
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c: In function ‘device_mmap’:
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:64:23: error: assignment of read-only member ‘vm_flags’
   64 |         vma->vm_flags |= VM_IO;
      |                       ^~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:65:19: error: assignment of read-only member ‘vm_flags’
   65 |     vma->vm_flags |= (VM_DONTEXPAND | VM_DONTDUMP);
      |                   ^~
In file included from ./include/linux/kernel.h:30,
                 from ./arch/x86/include/asm/percpu.h:27,
                 from ./arch/x86/include/asm/nospec-branch.h:14,
                 from ./arch/x86/include/asm/paravirt_types.h:27,
                 from ./arch/x86/include/asm/ptrace.h:97,
                 from ./arch/x86/include/asm/math_emu.h:5,
                 from ./arch/x86/include/asm/processor.h:13,
                 from ./arch/x86/include/asm/timex.h:5,
                 from ./include/linux/timex.h:67,
                 from ./include/linux/time32.h:13,
                 from ./include/linux/time.h:60,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:13,
                 from /home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:6:
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c: In function ‘kernetix_ioctl’:
./include/linux/kern_levels.h:5:25: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:427:25: note: in definition of macro ‘printk_index_wrap’
  427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:90:9: note: in expansion of macro ‘printk’
   90 |         printk(KERN_ALERT "The IOCTL for ABW %#08x was called :)\n", KERNETIX_ABW);
      |         ^~~~~~
./include/linux/kern_levels.h:9:25: note: in expansion of macro ‘KERN_SOH’
    9 | #define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
      |                         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:90:16: note: in expansion of macro ‘KERN_ALERT’
   90 |         printk(KERN_ALERT "The IOCTL for ABW %#08x was called :)\n", KERNETIX_ABW);
      |                ^~~~~~~~~~
./include/linux/kern_levels.h:5:25: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:427:25: note: in definition of macro ‘printk_index_wrap’
  427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:120:9: note: in expansion of macro ‘printk’
  120 |         printk(KERN_ALERT "The IOCTL for ABR %#08x was called :)\n", KERNETIX_ABR);
      |         ^~~~~~
./include/linux/kern_levels.h:9:25: note: in expansion of macro ‘KERN_SOH’
    9 | #define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
      |                         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:120:16: note: in expansion of macro ‘KERN_ALERT’
  120 |         printk(KERN_ALERT "The IOCTL for ABR %#08x was called :)\n", KERNETIX_ABR);
      |                ^~~~~~~~~~
./include/linux/kern_levels.h:5:25: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘void *’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:427:25: note: in definition of macro ‘printk_index_wrap’
  427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:126:9: note: in expansion of macro ‘printk’
  126 |         printk(KERN_ALERT "Value of %016lx --> %016lx\n",
      |         ^~~~~~
./include/linux/kern_levels.h:9:25: note: in expansion of macro ‘KERN_SOH’
    9 | #define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
      |                         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:126:16: note: in expansion of macro ‘KERN_ALERT’
  126 |         printk(KERN_ALERT "Value of %016lx --> %016lx\n",
      |                ^~~~~~~~~~
./include/linux/kern_levels.h:5:25: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘void *’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:427:25: note: in definition of macro ‘printk_index_wrap’
  427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:126:9: note: in expansion of macro ‘printk’
  126 |         printk(KERN_ALERT "Value of %016lx --> %016lx\n",
      |         ^~~~~~
./include/linux/kern_levels.h:9:25: note: in expansion of macro ‘KERN_SOH’
    9 | #define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
      |                         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:126:16: note: in expansion of macro ‘KERN_ALERT’
  126 |         printk(KERN_ALERT "Value of %016lx --> %016lx\n",
      |                ^~~~~~~~~~
./include/linux/kern_levels.h:5:25: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:427:25: note: in definition of macro ‘printk_index_wrap’
  427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:136:9: note: in expansion of macro ‘printk’
  136 |         printk(KERN_ALERT "The IOCTL for CR3 %#08x was called :)\n", KERNETIX_CR3);
      |         ^~~~~~
./include/linux/kern_levels.h:9:25: note: in expansion of macro ‘KERN_SOH’
    9 | #define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
      |                         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:136:16: note: in expansion of macro ‘KERN_ALERT’
  136 |         printk(KERN_ALERT "The IOCTL for CR3 %#08x was called :)\n", KERNETIX_CR3);
      |                ^~~~~~~~~~
./include/linux/kern_levels.h:5:25: warning: format ‘%p’ expects argument of type ‘void *’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:427:25: note: in definition of macro ‘printk_index_wrap’
  427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:145:9: note: in expansion of macro ‘printk’
  145 |         printk(KERN_ALERT "Value of CR3 (Physical Address) --> %p\n", _cr3);
      |         ^~~~~~
./include/linux/kern_levels.h:9:25: note: in expansion of macro ‘KERN_SOH’
    9 | #define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
      |                         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:145:16: note: in expansion of macro ‘KERN_ALERT’
  145 |         printk(KERN_ALERT "Value of CR3 (Physical Address) --> %p\n", _cr3);
      |                ^~~~~~~~~~
In file included from ./include/linux/uaccess.h:11,
                 from ./include/linux/sched/task.h:11,
                 from ./include/linux/sched/signal.h:9,
                 from ./include/linux/rcuwait.h:6,
                 from ./include/linux/percpu-rwsem.h:7,
                 from ./include/linux/fs.h:33,
                 from /home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:9:
./arch/x86/include/asm/uaccess.h:175:34: warning: initialization of ‘long unsigned int *’ from ‘long unsigned int’ makes pointer from integer without a cast [-Wint-conversion]
  175 |         __typeof__(*(ptr)) __x = (x); /* eval x once */                 \
      |                                  ^
./arch/x86/include/asm/uaccess.h:208:44: note: in expansion of macro ‘do_put_user_call’
  208 | #define put_user(x, ptr) ({ might_fault(); do_put_user_call(put_user,x,ptr); })
      |                                            ^~~~~~~~~~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:146:13: note: in expansion of macro ‘put_user’
  146 |             put_user( _cr3, (unsigned long **)p );
      |             ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:174:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  174 |         __u64 val = 0;
      |         ^~~~~
./arch/x86/include/asm/uaccess.h:175:34: warning: initialization of ‘long unsigned int *’ from ‘__u64’ {aka ‘long long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
  175 |         __typeof__(*(ptr)) __x = (x); /* eval x once */                 \
      |                                  ^
./arch/x86/include/asm/uaccess.h:208:44: note: in expansion of macro ‘do_put_user_call’
  208 | #define put_user(x, ptr) ({ might_fault(); do_put_user_call(put_user,x,ptr); })
      |                                            ^~~~~~~~~~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:176:9: note: in expansion of macro ‘put_user’
  176 |         put_user( val, (unsigned long **)msr_call->result );
      |         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:210:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  210 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
./arch/x86/include/asm/uaccess.h:175:34: warning: initialization of ‘long unsigned int *’ from ‘BYTE’ {aka ‘unsigned char’} makes pointer from integer without a cast [-Wint-conversion]
  175 |         __typeof__(*(ptr)) __x = (x); /* eval x once */                 \
      |                                  ^
./arch/x86/include/asm/uaccess.h:208:44: note: in expansion of macro ‘do_put_user_call’
  208 | #define put_user(x, ptr) ({ might_fault(); do_put_user_call(put_user,x,ptr); })
      |                                            ^~~~~~~~~~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:219:9: note: in expansion of macro ‘put_user’
  219 |         put_user( val, (unsigned long **)pci_call->result );
      |         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:234:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  234 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
./arch/x86/include/asm/uaccess.h:175:34: warning: initialization of ‘long unsigned int *’ from ‘WORD’ {aka ‘short unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
  175 |         __typeof__(*(ptr)) __x = (x); /* eval x once */                 \
      |                                  ^
./arch/x86/include/asm/uaccess.h:208:44: note: in expansion of macro ‘do_put_user_call’
  208 | #define put_user(x, ptr) ({ might_fault(); do_put_user_call(put_user,x,ptr); })
      |                                            ^~~~~~~~~~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:243:9: note: in expansion of macro ‘put_user’
  243 |         put_user( val, (unsigned long **)pci_call->result );
      |         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:258:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  258 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
./arch/x86/include/asm/uaccess.h:175:34: warning: initialization of ‘long unsigned int *’ from ‘DWORD’ {aka ‘unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
  175 |         __typeof__(*(ptr)) __x = (x); /* eval x once */                 \
      |                                  ^
./arch/x86/include/asm/uaccess.h:208:44: note: in expansion of macro ‘do_put_user_call’
  208 | #define put_user(x, ptr) ({ might_fault(); do_put_user_call(put_user,x,ptr); })
      |                                            ^~~~~~~~~~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:267:9: note: in expansion of macro ‘put_user’
  267 |         put_user( val, (unsigned long **)pci_call->result );
      |         ^~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:282:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  282 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:303:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  303 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:324:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  324 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:345:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  345 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:370:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  370 |         UINT32 bus      = pci_call->bus;
      |         ^~~~~~
./arch/x86/include/asm/uaccess.h:175:34: warning: initialization of ‘long unsigned int *’ from ‘UINT64’ {aka ‘long long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
  175 |         __typeof__(*(ptr)) __x = (x); /* eval x once */                 \
      |                                  ^
./arch/x86/include/asm/uaccess.h:208:44: note: in expansion of macro ‘do_put_user_call’
  208 | #define put_user(x, ptr) ({ might_fault(); do_put_user_call(put_user,x,ptr); })
      |                                            ^~~~~~~~~~~~~~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:379:9: note: in expansion of macro ‘put_user’
  379 |         put_user( bar_size, (unsigned long **)pci_call->result );
      |         ^~~~~~~~
In file included from ./include/linux/linkage.h:7,
                 from ./arch/x86/include/asm/cache.h:5,
                 from ./include/linux/cache.h:6,
                 from ./include/linux/time.h:5:
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c: In function ‘driver_initialize’:
./include/linux/export.h:27:22: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
   27 | #define THIS_MODULE (&__this_module)
      |                     ~^~~~~~~~~~~~~~~
      |                      |
      |                      struct module *
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:494:31: note: in expansion of macro ‘THIS_MODULE’
  494 |   device_class = class_create(THIS_MODULE, KERNETIX_DEVICE_NAME);
      |                               ^~~~~~~~~~~
In file included from ./include/linux/device.h:31,
                 from ./include/linux/cdev.h:8,
                 from /home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:13:
./include/linux/device/class.h:230:54: note: expected ‘const char *’ but argument is of type ‘struct module *’
  230 | struct class * __must_check class_create(const char *name);
      |                                          ~~~~~~~~~~~~^~~~
/home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.c:494:18: error: too many arguments to function ‘class_create’
  494 |   device_class = class_create(THIS_MODULE, KERNETIX_DEVICE_NAME);
      |                  ^~~~~~~~~~~~
./include/linux/device/class.h:230:29: note: declared here
  230 | struct class * __must_check class_create(const char *name);
      |                             ^~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver/kernetix.o] Error 1
make[1]: *** [Makefile:2050: /home/moldimolt/Downloads/Platbox/PlatboxDrv/linux/driver] Error 2
make: *** [Makefile:25: kernetix] Error 2

Thank you.

Debug and standard output are mixed in chipset command

The chipset command interleaves writes to stdout and stderr without proper flushing. This means in practice that the "OK" or error messages are displayed before the values they refer to, making the output impossible to understand.

A simple fix is to replace every occurrence of stderr by stdout in Platboxlib/src/global.cpp.

Cannot find source file: Acer/SpiAccessViaSmi.cpp

Hi,I am compiling on windows and I am getting the following error, file Acer/SpiAccessViaSmi.cpp not found!
Is it just me not doing it right? Hope you can give some pointers, thanks.

D:\Tmp\platbox\Platbox-main\Platbox-main\build>cmake --build build64/ --config Release
CMake is re-running because D:/Tmp/platbox/Platbox-main/Platbox-main/build/build64/CMakeFiles/generate.stamp dependency file is missing.
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22621.
-- Configuring done
CMake Error at pocs/CMakeLists.txt:36 (add_executable):
Cannot find source file:

Acer/SpiAccessViaSmi.cpp

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
.hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc

CMake Error at pocs/CMakeLists.txt:36 (add_executable):
No SOURCES given to target: AcerSpiAccessViaSmiPoc

CMake Generate step failed. Build files cannot be regenerated correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.