From: Alexander Graf <agraf@suse.de>
To: agraf@suse.de
Cc: i.am.cormac.obrien@gmail.com, mark.cave-ayland@ilande.co.uk,
qemu-devel@nongnu.org
Subject: [Qemu-devel] GSoC 2015 (Mac OS 9 support) report, week 3
Date: Wed, 20 May 2015 02:24:06 +0200 [thread overview]
Message-ID: <1432081446-25210-1-git-send-email-agraf@suse.de> (raw)
[This Week]
- Investigate MOL device tree further
- <Mark> There is also an interesting dump of what seems to be a MOL tree
at http://josejx.net/mol/mol-stable/mollib/oftrees/oftree.nw.old (which
has a commented out entry for "AAPL,debug" set to -1). The interesting
parts I see here are the "interrupt-controller" node in /chosen and
various additional names in the "compatible" property for various
devices.
- The comparison will be done by tomorrow, at the moment I'm writing an
FCode function to dump the entire tree along with properties.
- The attached link has incomplete notes on the differences between the
device trees; they will be completed this week.
- Patch: Copyright string
- Patch: RTAS node
[Next Week]
- Remove extraneous "interrupts" property from /pci/mac-io
- I'm having trouble tracking down where the property is actually being
set. The mac-io devices are defined in drivers/pci_database.c, but the
pci_dev_t struct (drivers/pci_database.h) doesn't appear to have an
interrupts field. Much of the mac-io related functionality is defined in
drivers/macio.c, but there's no mention of interrupts there so I'm kind
of at a loss.
- This originates from the PCI device's announcement of an IRQ pin which
really shouldn't be there
- Test and debug boot script loader
- Progress past quiesce() client interface call
- At the moment, this function simply closes all USB devices (`usb_exit()`)
and sets the Instruction and Data Address Translation bits in the MSR
(@agraf: does this cause any side effects?). The stack diagram shows no
arguments or return values, and none of the other `ciface` functions make
any modifications to the stack other than their arguments or return
values.
- Looks like `quiesce` either hangs on `mtmsr` or makes a jump out of the
function.
- MSR.IR and MSR.DR enable paging for instructions and data respectively.
IIRC we disable paging when quiesce gets called because it's the last
call that Linux runs before it executes non-OF aware code IIRC.
- Try to run qemu with -d in_asm,cpu,int -D log and check where the code
execution hangs :). There's a good chance we're already in the Mac OS 9
kernel.
- It would appear that execution has branched off into invalid memory.
invalid/unsupported opcode: 00 - 00 - 00 (00000000) 00f03000 0 IN:
0x00f03000: .long 0x0
- Awesome. What code gets executed before that? Maybe we shouldn't turn off
IR/DR?
- Actually looking at the code, the MSR IR/DR part is surround by a #if 0
... #endif pair... maybe something in usb_exit() is breaking things?
Possibly try removing it temporarily?
- usb_exit() doesn't appear to be causing any issues.
[Long Term]
- Continue updating project log
- Create and send patches
- [ ] Patch: Boot script loader
- [ ] ROM node
- Enable debugging in MOL
- The installation is now broken after a failed make. Tried reinstalling
from Zypper but it couldn't find the config files -- do they have to be
added manually?
- The config files are at a different location when you compile manually,
but I don't remember where everything was :). Just run mol with strace,
it will tell you where it's looking for things. The current ones should
be somewhere in /etc.
reply other threads:[~2015-05-20 0:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1432081446-25210-1-git-send-email-agraf@suse.de \
--to=agraf@suse.de \
--cc=i.am.cormac.obrien@gmail.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).