|
From: | Michael Walle |
Subject: | Re: [Qemu-devel] New documentation for the LatticeMicro32 target |
Date: | Tue, 18 Jul 2017 13:44:48 +0200 |
User-agent: | Roundcube Webmail/1.1.5 |
Am 2017-07-17 17:18, schrieb Programmingkid:
On Jul 17, 2017, at 10:56 AM, Programmingkid <address@hidden> wrote:On Jul 17, 2017, at 1:40 AM, Michael Walle <address@hidden> wrote: Am 2017-07-09 17:39, schrieb Programmingkid:I just made a documentation page for the LatticeMicro32 target. I needto know its current status, how much of this system is implemented,what software runs on it. If anyone could supply more information thatwould be appreciated. Pictures of this target running would be great as well. Thanks.Here is the page: http://wiki.qemu.org/Documentation/Platforms/LatticeMico32Hi,thank you for your efforts. I have to admit that the current status is unknown.I've just compiled the latest head and it looks like the BQL is missing for the interrupt helpers. I'll post a patch soon. With the patch, the basic stuff is working but there seems to be an issue with OpenGL.You can read the quickstart instructions at: http://milkymist.walle.cc/README.qemuThe flash image isn't working because it will boot right into the visualization mode, which is using the OpenGL stuff. The "-kernel flickernoise" method is working though. You can get the flickernoise binary at:http://milkymist.walle.cc/updates/current/flickernoiseBesides the milkymist emulation, there is plain lm32 emulation based on the Lattice reference design which should be ok, because the tests are working (make -C tests/tcg/lm32 check)-michaelThank you for all this information. It has been added to the wiki page.I just tried qemu-system-lm32 and it crashed. Command-line: qemu-system-lm32 -M milkymist -kernel flickernoise Error message: audio: Failed to create voice `mm_ac97.in' ** ERROR: /accel/tcg/tcg-all.c:42:tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked()) Abort trap: 6 Host: Mac OS 10.12.5
As I said before, I guess the BQL is missing here. Try the following patch:
diff --git a/target/lm32/op_helper.c b/target/lm32/op_helper.c index 2177c8ad12..93b8d09794 100644 --- a/target/lm32/op_helper.c +++ b/target/lm32/op_helper.c@@ -102,12 +102,16 @@ void HELPER(wcsr_dc)(CPULM32State *env, uint32_t dc)
void HELPER(wcsr_im)(CPULM32State *env, uint32_t im) { + qemu_mutex_lock_iothread(); lm32_pic_set_im(env->pic_state, im); + qemu_mutex_unlock_iothread(); } void HELPER(wcsr_ip)(CPULM32State *env, uint32_t im) { + qemu_mutex_lock_iothread(); lm32_pic_set_ip(env->pic_state, im); + qemu_mutex_unlock_iothread(); } void HELPER(wcsr_jtx)(CPULM32State *env, uint32_t jtx) -michael
[Prev in Thread] | Current Thread | [Next in Thread] |