-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] - Initial Boot Record support #8
Comments
The initial boot record is a common structure on all i960 processors, it is how the cpu boots and is used by the processor extensively during runtime. Using the IBR as the disassembly starting point could even greatly reduce the amount of noise the user has to deal with. This will not apply if the executable is not a "bare-metal" executable but one for an operating system like VxWorks. There is only one problem, the IBR location is different depending on the target i960 Processor. Mx -> 0x0000'0000 I have some of the manuals for these processors in https://github.com/DrItanium/sim960/tree/main/doc |
ELF/PE are important because those are how relocations and memory mappings are setup. Does this bare metal and/or IBR do anything like that? Does something in the binary actually need to be changed based on those values or just a struct with some pointers? Im not really sure what you're asking for, just to automatically make/assign this struct at that address? |
Eep! Sorry about the confusion first off! Answers:
|
if thats all, i think it should be easy, just a question of piping in java since its just sleigh currently. I'll take a look |
Well what I was thinking was adding a system which combs out these values initially in the auto-analysis and adds those comments in black explaining what those values are, if that makes sense. I suppose after this area of data is disassembled, using it's addresses would probably be a good starting point for the disassembler in it's analysis to begin branching and analyzing. |
Greetings,
So I was talking with @DrItanium regarding my disassembly, and they mentioned that the beginning of i960 executable is something called an "Initial Boot Record".
For example this is taken from an .exe:
This is taken from a PS3 .elf executable:
This is an example of an i960 Initial Boot Record provided by DrItanium:
DrItanium goes on to state that a specific example of the Initial Boot Record for the 80960 KX architecture can be found in the NINDY source code file kx_init.s.
For that matter, I think a lot of what's shown in the
KX_INIT.S
file could (should) be implemented in the disassembly if it's common to basically all 80960 architecture. Granted this could be quite the feat to implement, I feel it would be beneficial for research purposes.The text was updated successfully, but these errors were encountered: