Graf_Chokolo Updates PS3 Kernel: New Drivers Added

Change Log:

Added ioctl PS3RAM_IOCTL_USER_TO_LPAR_ADDR cmd to ps3ram character device to convert user space addresses to lpar addresses
New PS3 VUART Dispatcher Manager (port 10) driver
New PS3 Dispatcher Manager Proxy character device driver for user space /dev/ps3dmproxy
Full release note from graf_chokolo:

Just pushed my newest PS3 Linux drivers to remote GIT repository icon smile Graf Chokolo Linux Kernel Update New PS3 Linux Drivers Added
You can access Dispatcher Manager from User Space through /dev/ps3dmproxy and in Kernel Space through ps3dm interface.

But take care, some HV services are dangerous and you should know what you are doing, you could e.g. overwrite your metldr or EID on FLASH icon smile Graf Chokolo Linux Kernel Update New PS3 Linux Drivers Added So be careful.

I intend to write an updater for packages in the next days which will be able to update e.g. CORE OS package from Linux user space icon smile Graf Chokolo Linux Kernel Update New PS3 Linux Drivers Added And then i will upload it.
For a long time i couldn’t decide where to implement the updater, in kernel space or in user space, kernel space makes e.g. easy converting memory addresses to LPAR addresses, but allocating large piece of memory in kernel is not simple,
and implemnting HV services in kernel seems to me to be out of question, so i decied to do it from user space, more safe and easier

And we will need HUGEPAGE support for updater. I already tested it on my PS3 Linux and it works great icon smile Graf Chokolo Linux Kernel Update New PS3 Linux Drivers Added One page is 16 MB large, more than enough for updating packages. The updater can allocate a huge page, store there the package, lock this page in memory so that swapper doesn’t move it to swap space, convert the address of the page to LPAR address and send it to Update Manager icon smile Graf Chokolo Linux Kernel Update New PS3 Linux Drivers Added

I also added a new IOCTL to /dev/ps3ram character device – PS3RAM_IOCTL_USER_TO_LPAR_ADDR. It allows you to convert a user space memory address to LPAR address. We will need it for updater e.g., because updater has to send LPAR address of package to Update Manager.
Here is an example how to use it: http://pastie.org/1585460

Have fun and report any bugs to me please.

Subscribe for Latest News