dev: cirrus: Add a simplified device model for the cirrus graphics device.
Review Request #2511 - Created Nov. 17, 2014 and updated
| Information | |
|---|---|
| Gabe Black | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10608:45b160d14246 --------------------------- dev: cirrus: Add a simplified device model for the cirrus graphics device. All control register accesses are dropped on the floor. If used with KVM, the frame buffer is set up as a memory like region to keep performance from tanking. If a VNC server is configured, the buffer is marked dirty once every simulated 100ms.
Description: |
|
|||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+334) |
Description: |
|
|||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 3 (+334) |
Description: |
|
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 4 (+334) |
Description: |
|
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 5 (+345) |
Description: |
|
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 6 (+340) |
-
src/dev/Cirrus.py (Diff revision 6) -
Remove? Or add a comment
-
src/dev/cirrus.hh (Diff revision 6) -
all of these public? Why?
-
src/dev/cirrus.cc (Diff revision 6) -
Please use getConstPtr
-
src/dev/cirrus.cc (Diff revision 6) -
Remove? Or add a more elaborate comment
-
src/dev/cirrus.cc (Diff revision 6) -
Can we not simply check if kvmkvm is nullptr?
-
src/dev/cirrus.cc (Diff revision 6) -
I am not too fond of this. Can we note make it null or have a NullKVMVM or similar?
-
src/dev/cirrus.cc (Diff revision 6) -
Rather unfortunate imho.
-
src/dev/cirrus.cc (Diff revision 6) -
What if we have a scheduled updateEvent?
-
src/dev/Cirrus.py (Diff revision 6) -
Remove, I think.
-
src/dev/cirrus.hh (Diff revision 6) -
They probably shouldn't be. I'll fix that.
-
src/dev/cirrus.cc (Diff revision 6) -
Ok.
-
src/dev/cirrus.cc (Diff revision 6) -
I don't know what's going on here. This device model was originally written by someone else, and I added a small fix patch on top of it recently. I'll need to look into what this is for.
-
src/dev/cirrus.cc (Diff revision 6) -
Since USE_KVM is constant at compile time, this if will get compiled away if it's false. We could check kvmVM only, but it would be slightly less efficient. That's probably ok, though.
-
src/dev/cirrus.cc (Diff revision 6) -
Unfortunately no. We can't have the kvmVM parameter in the SimObject if KVM isn't available because we won't have access to that type. In that case, p->kvmVM won't compile.
-
src/dev/cirrus.cc (Diff revision 6) -
It's const everywhere else, we just need to un-constify it here so we can set it up initially.
-
src/dev/cirrus.cc (Diff revision 6) -
Yeah, we should deschedule that.
Description: |
|
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 7 (+340) |
Description: |
|
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 8 (+341) |
Looks fine. Could you mark the issues that are fixed as fixed (or dropped for that matter)? Thanks. I am still not sure if I like the USE_KVM better, or perhaps having a NullKvm object.
Description: |
|
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 9 (+341) |
Diff: |
Revision 10 (+15 -5) |
|---|
Rebased diff.
