This is a multifunction call. The function of the operations is listed in the sub-pages linked below.
status = lv1_gpu_context_attribute(ps3fb.context_handle, operation_code, p1, p2, p3, p4 );
| Inputs | |
|---|---|
| Register | Description |
| R3 | ps3fb.context_handle as allocated by lv1_gpu_context_allocate |
| R4 | operation_code - The code of the operation to perform. |
| R5 | p1 - Parameter 1 to the operation |
| R6 | p2 - Parameter 2 to the operation |
| R7 | p3 - Parameter 3 to the operation |
| R8 | p4 - Parameter 4 to the operation |
| Outputs | |
| Register | Description |
| R3 | Status - 0 = OK, Other values are unknown, but indicate failure. |
The operation code can be one of the following:
| Operation | Code | Details | Address in 3.15 |
|---|---|---|---|
| No Entry | 0×0000 | Not a valid operation, returns LV1_NO_ENTRY (-6) | |
| L1GPU_CONTEXT_ATTRIBUTE_FIFO_SETUP | 0×0001 | fifo_setup | 0×210910 |
| Unknown | 0×0002 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0x2108ec |
| Unknown | 0×0003 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0x2107c0 |
| No Entry | 0×0004-0x00FF | Not a valid operation, returns LV1_NO_ENTRY (-6) | |
| L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_MODE_SET | 0×0100 | display_mode_set | 0x21092c |
| L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_SYNC | 0×0101 | display_sync | 0×210318 |
| L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_FLIP | 0×0102 | display_flip | 0×210588 |
| Unknown | 0×0103 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0×210994 |
| Unknown | 0×0104 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0×210754 |
| Unknown | 0×0105 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0×210828 |
| Unknown | 0×0106 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0x2109ac |
| Unknown | 0×0107 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 – Doesn’t Exist in the 3.15 HV. | N/A |
| Unknown | 0×0108 | Unknown function, returns LV1_ILLEGAL_PARAMETER_VALUE(-17) when called with 0,0,0,0 | 0x21063c |
| Unknown | 0×0109 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0x2104e8 |
| Unknown | 0x010A | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0×210888 |
| No Entry | 0x010B-0x01FF | Not a valid operation, returns LV1_NO_ENTRY (-6) | |
| Unknown | 0×0200 | Crashes the PS3 when called with 0,0,0,0. See CN2 – Doesn’t exist in 3.15 | N/A |
| Unknown | 0×0201 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0×210724 |
| Unknown | 0×0202 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0. See CN3 | 0x21083c |
| No Entry | 0×0203-0x02FF | Not a valid operation, returns LV1_NO_ENTRY (-6) | |
| Unknown | 0×0300 | Unknown function, returns LV1_ILLEGAL_PARAMETER_VALUE(-17) when called with 0,0,0,0 | 0x2108c0 |
| Unknown | 0×0301 | Unknown function, returns LV1_ILLEGAL_PARAMETER_VALUE(-17) when called with 0,0,0,0 | 0x2104bc |
| Unknown | 0×0302 | Unknown function. found @ 0x2105E8 in the 3.15 HV | 0x2105e8 |
| No Entry | 0×0303-0x03FF | Not a valid operation, returns LV1_NO_ENTRY (-6) | |
| Unknown | 0×0400 | Unknown function, returns LV1_SUCCESS(0) when called with 0,0,0,0 | 0x2109d8 |
| No Entry | 0×0401-0x05FF | Not a valid operation, returns LV1_NO_ENTRY (-6) | |
| L1GPU_CONTEXT_ATTRIBUTE_FB_SETUP | 0×0600 | fb_setup | 0×210788 |
| L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT | 0×0601 | fb_blit | 0x2107ec |
| L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT_SYNC | 0×0602 | fb_blit_sync | 0×210964 |
| L1GPU_CONTEXT_ATTRIBUTE_FB_CLOSE | 0×0603 | Added on FW >= 2.1 and used in recent Linux kernel (called with 0,0,0,0) to undo fb_setup. Not a Valid operation on older firmware. | 0×210694 |
| No Entry | 0×0604-0x0FFF | Not a valid operation, returns LV1_NO_ENTRY (-6) |
Underlined entries are undocumented and have been discovered by probing.
Probing this call by passing in an unknown operation_code and parameters of 0, seems to return a status of LV1_SUCCESS (0) whereas if the operation is not a valid id, the call returns LV1_NO_ENTRY (-6)
Symptoms of Crash:
No Video. Keyboard/Mouse unresponsive. Green Power Light lit steady. Requires hard power off to clear (holding power button on front unresponsive).
Symptoms of Crash:
No Video. Keyboard/Mouse unresponsive. Three quick beeps from internal PS3 beeper. Power Light lit blinks red. Pressing power Led makes it steady red, pressing again reboots.
Symptoms of Crash:
Video remains on display (from time preceding call). All video updates cease. Linux Kernel reports repeatedly: "lv1_gpu_context_attribute FB_BLIT failed: status -32768" Rebooted PS3 to clear using front power button, this did not fix condition. Hard power reset required to clear.