Attached patch adds the ability to identify the Zico blobs (and the function that references them). It's not finished, because I wasn't sure how the info about those blobs should be stored. There's already an array that keeps blob properties, but that seems mostly for blobs that can actually be used for identifying stuff (some utility functions use that array).The goal would be a list of blobs (and their known properties), extending the existing list in stubs_entry.S. Some software (khm) could then read that list and let the user easily import the blobs appearing there.Some other blobs might be added later - second ARM, audio/video codec blob(s), etc.
Can you take a look at it and spot if I'm doing anything incorrectly? Those two iter states are somewhat confusing (there's one in fw and there's also 'is').
ldr r0, =0xfcabcabcldr r0, [r0]
Here's my take at splitting up the matches. I only tested for g7x and sx280. I noticed sx280 only picks up two blobs, but the same is true for your earlier code.
- if (k < (fw->size8 - sizeof(ctypes)))+ if ((k < (fw->size8 - sizeof(ctypes))) && (k > (fw->main_offs)))
The sx280 doesn't seem to have a valid 0xbff00000 blob, so that's ok. The code seems to be working. I did not go further, because I have a feeling you may prefer to store the blob properties in misc_vals (and that's not trivial).
Something like this in find_ctypes() appears to be enough:
I've checked in some code for this. Right now it outputs the blobs in a similar format to the ROM / RAM regions. If you want a different format, that's fine.
Right now they are just labeled zico_N, but it would probably be better to identify code, data etc.
/* Instruction RAM 0: */#define XCHAL_INSTRAM0_VADDR 0x5FFF8000#define XCHAL_INSTRAM0_PADDR 0x5FFF8000#define XCHAL_INSTRAM0_SIZE 32768#define XCHAL_INSTRAM0_ECC_PARITY 0/* Data RAM 0: */#define XCHAL_DATARAM0_VADDR 0x5FFE8000#define XCHAL_DATARAM0_PADDR 0x5FFE8000#define XCHAL_DATARAM0_SIZE 32768#define XCHAL_DATARAM0_ECC_PARITY 0/* Data RAM 1: */#define XCHAL_DATARAM1_VADDR 0x5FFF0000#define XCHAL_DATARAM1_PADDR 0x5FFF0000#define XCHAL_DATARAM1_SIZE 32768#define XCHAL_DATARAM1_ECC_PARITY 0
I found a "lost" event procedure table while browsing for something else. Attached patch adds support for the kind of code pattern involved.Patched sigfinder finds the ShutterTool.* event procedures on cameras that have them (approx. r54 and above).
As usual, my code is likely not the most optimal.
Checked in r4980.
Started by NewbieToobie
Started by arm.indiana
Started by zeno
« 1 2 3 »
General Help and Assistance on using CHDK stable releases
Started by c10ud
« 1 2 ... 15 16 »
General Discussion and Assistance
Started by alvm