-
Notifications
You must be signed in to change notification settings - Fork 4
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
Define a device model #67
Comments
larsbrinkhoff/ostis@master...device is a work in progress with a first step in this direction. |
The first description of the issue and the proposal seem to clash a bit. The first one says it doesn't have an mmu, only a device, the code however puts the device inside an mmu object. Shouldn't it be the other way around, with the mmu object inside the device? |
The answer to the question is: Yes! It's a work in progress, more commits to follow. At this point, discussion about the idea is more useful than looking at unfinished code. |
Good. The idea is definitely the right one. It might even be that MMU is the wrong semantic term for the I/O-mapping of devices, but that's a GLUE-related discussion :) |
Since this was first written, the code is moving more and more towards using clocked state machines. The device model should reflect this.
|
The "request events to happen at " sort of, might be synced to a master clock, regardless of local slower clock in the device. That would probably help when triggering signals to other devices. |
Different kind of signals:
Physical view:
Logical view:
Implementations:
|
struct mmu
is increasingly being abused for modelling hardware components. First diagnostics was added, and now interrupt handling has been included. Also, some entities that obviously model hardware components doesn't have astruct mmu
. Most likely,struct mmu
would be better off only handling MMU properties only.I propose it would be a good idea to add a
struct device
for modelling all devices. Here are some things to consider for such a model:The text was updated successfully, but these errors were encountered: