SceSdstor

Module
SceSdstor module does not export any functions exсept module_start.

This module is responsible for initializing all storage devices. This includes:
 * eMMC
 * Game gard
 * Memory card
 * USB Mass Storage

Based on layout of data segment and code of some subroutines (mbr table init, partition entry table init etc) it can be said that there are 5 devices in total. However only first 4 devices are known at the moment.

Block Device Naming Rules
First level prefix: hardware device

Second level prefix: partition table related?


 * lp - general.
 * pp - no part.

Third level prefix: active/inactive partition selection


 * ina: inactive
 * act: active
 * ign: ignore (for devices, that don't support this. but seems same to ina)

Fourth level prefix: partition


 * unused
 * idstor
 * sloader
 * os
 * vsh
 * vshdata
 * vtrm
 * user
 * userext
 * gamero
 * gamerw
 * updater
 * sysdata
 * mediaid
 * pidata
 * entire - just device entry

Partition Block Devices
Each partition has numeric alias (string) that looks like to be used to reference the partition.

Numeric names most likely follow order of partitions in MBR.

To access device node use  prefix (like  ).

In total there can be 16 aliases from 0 to 15 per physical device (eMMC, Game Card, Memory Card). Alias 16 is hardcoded and is called.

Aliases 000-015 correspond to eMMC partitions.

Aliases 016 correspond to eMMC.

Aliases 100-115 correspond to Game Card partitions.

Aliases 116 correspond to Game Card or SdCard.

Aliases 200-215 correspond to Memory Card partitions.

Aliases 216 correspond to Memory Card.

Not all numeric names are fixed except for hardcoded ones.

Types
Looks like SceSdstor driver uses its own device type