Comments (5)
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
Kx -> 0x0000'0000
Sx -> 0x0000'0000
Cx -> 0x????'????
Hx -> 0xFEFF'FF30
Jx -> 0xFEFF'FF30
Vx -> 0x????'????
Rx -> 0x????'????
I have some of the manuals for these processors in https://github.com/DrItanium/sim960/tree/main/doc
from ghidra_i960.
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?
from ghidra_i960.
Eep! Sorry about the confusion first off!
Answers:
- The IBR does not do any relocations. It is just there to provide a sanity check on boot and tell the CPU where to go and where things are.
- It is just a struct with a combination of constants and pointers.
- Yes, just automatically make/assign the struct at that address. Nothing more.
from ghidra_i960.
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
from ghidra_i960.
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.
from ghidra_i960.
Related Issues (9)
- Commit 67744fb cause errors in auto analysis HOT 6
- Warnings and errors analyzing Intel's NINDY 3.01 binary HOT 8
- endian HOT 3
- Status on processor module repo vs proposed ghidra i960 tree? HOT 7
- Importing ROM data imports as RAM HOT 6
- Compare and branch src1 not disassembling correctly. HOT 2
- Binary import fails with exception - <pentry> tags HOT 3
- Debug file parsing HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ghidra_i960.