From PS3Wiki
List of useful functions in LV2 kernel
string.h
| Function
| Notes
| Offset in 3.41
| Offset in 3.15
| Offset in 3.10
| Offset in 3.01
| Offset in 2.76
|
| char *strcpy(char *dest, const char *src)
|
| 0x04D2F0
| 0x4CDAC
| 0X4CDA8
| 0x4AAC4
| 0x469B8
|
| int strlen(char *str)
|
| 0x04D318
| 0X4CDD4
| 0X4CDD0
| 0x4AAEC
| 0x469E0
|
char *strcat(char *destination, const char *source)
|
| 0x04D220
| 0x04CCDC
|
|
|
|
char *strchr(const char* str, char chr)
|
| 0x04D258
| 0x04CD14
|
|
|
|
char *strrchr(const char* str, char chr)
|
|
| 0x04CEE4
|
|
|
|
int strcmp(const char *s1, const char *s2)
|
| 0x04D29C
| 0x04CD58
|
|
|
|
| int strncmp(const char *s1, const char *s2, size_t n)
|
| 0x04D344
| 0X4CE00
| 0X4CDFC
| 0x4AB18
| 0x46A0C
|
char *strncpy(char *destination, const char *source, size_t num)
|
| 0x04D3B8
| 0x04CE74
|
|
|
|
| int memcmp(void *v1, void *v2, size_t n)
|
| 0x04C454
| 0x04BF10
|
|
|
|
| void *memchr(void *s, int c, size_t n)
|
|
| 0x04BEC0
|
|
|
|
| void *memcpy(void *dest, const void *src, size_t n)
|
| 0x07C01C
| 0X7BE9C
| 0X7BE98
| 0x77E84
| 0x7395C
|
| void *memset(void *s, int c, size_t n)
|
| 0x04D144
| 0X4CC00
| 0X4CBFC
| 0x4A95C
| 0x46850
|
stdio.h
| Function
| Notes
| Offset in 3.41
| Offset in 3.15
|
| int snprintf(char *str, size_t size, char *format, ...)
|
| 0x04E4D8
| 0x04DF94
|
| int sprintf(char *str, char *format, ...)
|
| 0x04E56C
| 0x04E028
|
| int printf(char *format, ...)
| This prints to the serial debug console.
| 0x28A654
| 0x28A11C
|
lv2
| Function
| Notes
| Offset in 3.41
| Offset in 3.15
| Offset in 3.10
| Offset in 3.01
| Offset in 2.76
|
| void* alloc(size_t size, int unk)
| unk is possibly pool? PSGroove uses 0x27.
| 0x62088
| 0x61CF0
| 0x61CEC
| 0x5DF4C
| 0x59D54
|
| void dealloc(void* ptr, int unk)
| unk is possibly pool? Should be the same value of unk given to alloc.
| 0x624C8
| 0x62138
| 0x62134
| 0x5E38C
| 0x5A194
|
| void process_utils::create_initial_system_process()
| Called to start the first userspace process, which is normally "sys_init_osd.self" but it can also launch recovery mode or update mode.
| 0x287D50
| 0x287858
|
|
|
|
| void Panic(int unk)
|
This function does not return.
(It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution)
| 0x288568
|
|
|
|
|
USBGetDeviceDescriptor
| USB function
| 0xd2998
| 0xd3474
|
|
| 0xCCD2C
|
USBOpenEndpoint
|
| 0xd29c4
| 0xd34ac
|
|
| 0xCCD58
|
USBControlTransfer
|
| 0xd292c
| 0xd3408
|
|
| 0xCCCC0
|
USBRegisterDriver
|
| 0xd22d8
| 0xd2978
|
|
| 0xCC6A0
|
Lv2 System Table Offset
FW version
| Offset
|
3.41
| 0x2EB128
|
3.15
| 0x2EA820
|
3.10
| 0x2EA820
|
3.01
| 0x2CFB40
|
2.76
| 0x2C4318
|
firmware_symbols.h.S from KaKaRoTo Github