Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
132 user(s) are online (116 user(s) are browsing Forums)

Members: 1
Guests: 131

FlynnTheAvatar, more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 11 12 13 (14)
Re: qemu emualtion of AmigaONE XE
Just can't stay away
Just can't stay away


See User information
@balatonQuote:

This repeats 216 times and then it stops completely. The logs seems that it tries to wake up input.device but somehow the floppy task is cannot be prempted? QEMU emulates a floppy but maybe not completely and likely not needed so I'll try to disable a1floppy.device for now and see if that changes anything but does anybody have an idea how to debug this further? On pegasos2 the same floppy emulation is also present but maybe that machine does not have a driver so this does not happen there? Also this seems to be related to something like timing or memory layour (Heisenbug) becuase I did not see this before and changing unrelated patches in QEMU also makes it go away.

Edit: I think I've found out what caused this. Looks like PCI BARs are mapped with higher priority in QEMU so the IDE BAR shadows part of the FDC IO ports which causes a1floppy.device unable to communicate with the FDC and hang. This could probably be fixed but just disabling the floppy driver in Kicklayout is probably an acceptable workaround for now when one needs to modify Kicklayout to add siliconmotion502.chip driver anyway.


We had already reported the problem with a1floppy.device back then. Maybe you missed it. It is currently deactivated in my Kicklayout too.

https://www.amigans.net/modules/newbb/ ... id=142101#forumpost142101

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
Moved post lower to the end so it's not burried...


Edited by balaton on 2023/11/13 19:42:45
Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
@balaton

I don't know if this is important in the qemu version (even if older) of winUAE.

I remembered now.

Using AmigaOS 4.1 Classic in this case.
Verbatim words by (Tony) in various topics dedicated to 4.1
And personally tested (boot is faster)

The hardware control chain process of the "boot" machine
By enabling floppy and cdrom, AmigaOS boot is much faster.
Disabling the floppy and cd-rom makes booting slower.

I don't know if this is automatically included in the "qemu" version
for Pegasos2 or AmigaONE.
Or whether it should be enabled on the "qemu" command line regardless of whether it is used or not.

I'm writing this in case it might be useful.

In practice, not finding the cdrom and floppy will make booting slower.

Go to top
Re: qemu emualtion of AmigaONE XE
Just can't stay away
Just can't stay away


See User information
@whiteQuote:
white wrote:@balaton

Using AmigaOS 4.1 Classic in this case.
Verbatim words by (Tony) in various topics dedicated to 4.1
And personally tested (boot is faster)

The hardware control chain process of the "boot" machine
By enabling floppy and cdrom, AmigaOS boot is much faster.
Disabling the floppy and cd-rom makes booting slower.

In practice, not finding the cdrom and floppy will make booting slower.


Qemu does not emulate Classic PPC hardware where custom chips also have to be emulated, Amiga PPC Classic hardware is heavily dependent on the floppy drive because it looks for it first, I don't think the NG Amigas are that.

So if e.g. If a1floppy.device is deactivated in the kernel/kick layout, this driver will not be loaded at all, hardware and AmigaOs4.1 will not look for it. But that's just a theory.

Tony was referring to Amiga Classic PPC hardware.

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: qemu emualtion of AmigaONE XE
Just can't stay away
Just can't stay away


See User information
@Maijestro
Quote:
Qemu does not emulate Classic PPC hardware where custom chips also have to be emulated
QEmu doesn't but WinUAE does, and the PPC emulation part of WinUAE is based on an old, IIRC 5.x, version of QEmu.

Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
@joerg
@Maijestro

It was just a note if it could be useful in any way.
I haven't tried but after updating update 1&2
Booting slows down.
Obviously just putting the old files back will overcome the problem.
Maybe it was due to cd-rom+floppy in the hardware boot chain

But at this point in the command line:
-cdrom
is if you also wanted to emulate the floppy

what should be added ?
if it is possible to do so

----
you can do it with the cd-rom

From the qemu terminal you can mount an empty -cdrom drive
at boot
you can then mount it later but now I don't remember which command to enter in the "qemu console"

I don't know if this is also valid for a floppy drive

it would still be an additional option to use.

Go to top
Re: qemu emualtion of AmigaONE XE
Home away from home
Home away from home


See User information
@All
del


Edited by kas1e on 2023/11/13 19:37:34
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
@kas1e

Are you talking about your Pegasos2 with bboot and a RadeonHD/RX?

The audio device is just a second endpoint.

PCIe config register are always readable. Unless something is wrong with your card's address. The Bar spaces need to be enabled in the command register.

Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
@kas1e
Are you sure you wanted to post this question in this thread? If so could you elaborate on what it is about as the context is missing so not sure what you're asking about. If it's about QEMU then you could try enabling some traces to see what happens. What traces to enable depends on what you want to debug but for pci devices adding -trace enable="pci*" at least shows access to PCI devices so you can see what the guest asked for and what it got. See -trace options in https://www.qemu.org/docs/master/system/invocation.html for more info and trace-events files in the sources for available sources for each subdir.

Go to top
Re: qemu emualtion of AmigaONE XE
Home away from home
Home away from home


See User information
@all
Indeed, mess this out! Reposted to specific thread

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
@kas1e
OK saw the post on other thread but still would need more context on what you're doing as I don't know what it's about.

Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
I'm posting this again so somebody with a real AmigaOne will see this because the previous post one was burried in recent activity on this thread.

Is there somebody with a real AmigaOne machine who could collect some boot logs? Currently A1XE is emulated so that would be the best but maybe at some point uA1 could also be added so any of these AmigaOne machines could do, they are probably quite similar with uA1 having some more hardware on board.

To collect logs you'd need to capture serial output and get what the firmware is writing there, booting AmigaOS after
setenv os4_commandline serial debuglevel=11

preferable with debug kernel. And also booting linux and get the dmesg output during or after boot.

I hope the above make sense and there's somebody (like @kas1e or @sailor) with real AmigaOne G4 hardware who can collect such logs. It would help to compare these with the logs I get on QEMU when debugging emulation.

Go to top
Re: qemu emualtion of AmigaONE XE
Just popping in
Just popping in


See User information
Hi balaton,

First, thank you for your work on Qemu for the AmigaOne systems; I'm super excited to see this coming to fruition.

I read through the forum here and came up with this process to git and build Qemu with AmigaOne support for my Ubuntu 20.04 Intel-based Linux box:


# git clone http://scm.osdn.net/gitroot/qmiga/qemu.git
# cd qemu
# git checkout amigaone
# ./configure
# make
# make install

The result was this:

# qemu-system-ppc -M help
Supported machines are:
40p IBM RS/6000 7020 (40p)
amigaone Eyetech AmigaOne/Mai Logic Teron
...

It looks good so far.

I then used AmiDVD to build a custom AmigaOne 4.1 Final Edition ISO image with the siliconmotion502.chip and updated both kicklayouts as directed in:

https://www.amigans.net/modules/newbb/ ... id=138684#forumpost138684

I created the u-boot-amigaone.bin and obtained the VGABIOS-lgpl-latest.bin file.

Then I start the machine with:
qemu-system-ppc \
-M amigaone \
-device VGA,romfile=VGABIOS-lgpl-latest.bin \
-device sm501 -accel tcg \
-drive if=none,id=cd \
-device ide-cd,drive=cd,bus=ide.1 \
-drive if=none,id=hd,file=AmigaOne.img,format=raw \
-device ide-hd,drive=hd,bus=ide.0 -m 2048 \
-device es1370 \
-rtc base=localtime \
-device rtl8139,netdev=network01 -netdev user,id=network01 \
-display sdl \
-serial stdio \
-d unimp,guest_errors \
-trace enable="via*"

At this point, I configured U-Boot to boot CDROM and started getting errors:

articia_reg_write: Unimplemented register write 0x80 1 <- 3a
articia_reg_write: Unimplemented register write 0x80 1 <- 3b
articia_reg_write: Unimplemented register write 0x80 1 <- 50
articia_reg_write: Unimplemented register write 0x80 1 <- 53
articia_reg_write: Unimplemented register write 0x80 1 <- 56
via_isa_write addr 0x85 val 0x3 len 0x1
via_superio_write addr 0xe2 val 0x1c
via_superio_cfg: unimplemented register 0xe2
via_superio_write addr 0xe6 val 0xde
via_superio_cfg: unimplemented register 0xe6
via_superio_write addr 0xe7 val 0xfe
via_superio_cfg: unimplemented register 0xe7
via_superio_write addr 0xe8 val 0xbe
via_superio_cfg: unimplemented register 0xe8
via_isa_write addr 0x85 val 0x1 len 0x1

Then this repeats forever:

via_isa_write addr 0x10 val 0xffffffff len 0x4
via_isa_write addr 0x14 val 0xffffffff len 0x4
via_isa_write addr 0x18 val 0xffffffff len 0x4
via_isa_write addr 0x1c val 0xffffffff len 0x4
via_isa_write addr 0x20 val 0xffffffff len 0x4
via_isa_write addr 0x24 val 0xffffffff len 0x4
via_pm_write addr 0x10 val 0xffffffff len 0x4
via_pm_write addr 0x14 val 0xffffffff len 0x4
via_pm_write addr 0x18 val 0xffffffff len 0x4
via_pm_write addr 0x1c val 0xffffffff len 0x4
via_pm_write addr 0x20 val 0xffffffff len 0x4
via_pm_write addr 0x24 val 0xffffffff len 0x4
Invalid read at addr 0xFD0E0000, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0001, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0002, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0003, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0004, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0005, size 1, region '(null)', reason: rejected
...
Invalid read at addr 0xFD0E0FFD, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0FFE, size 1, region '(null)', reason: rejected
Invalid read at addr 0xFD0E0FFF, size 1, region '(null)', reason: rejected
articia_reg_write: Unimplemented register write 0x80 1 <- b0
articia_reg_write: Unimplemented register write 0x80 1 <- b0

My virtual Sam460 is working well.

Thoughts on what I've done wrong?

cheers,
Bill "tekmage" Borsari

Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
Try just with only this

qemu-system-ppc \
-M amigaone \
-device VGA,romfile=VGABIOS-lgpl-latest.bin \
-device sm501 -accel tcg \
-drive if=none,id=cd \
-device ide-cd,drive=cd,bus=ide.1 \
-drive if=none,id=hd,file=AmigaOne.img,format=raw \
-device ide-hd,drive=hd,bus=ide.0 -m 2048 \
-device es1370 \
-rtc base=localtime \
-device rtl8139,netdev=network01 -netdev user,id=network01 \
-display sdl \

X5000/40 16GB
RasperryPi 1-2-3-4-(5)
A500 Mini.
Go to top
Re: qemu emualtion of AmigaONE XE
Just can't stay away
Just can't stay away


See User information
@tekmageQuote:
tekmage wrote:Hi balaton,

First, thank you for your work on Qemu for the AmigaOne systems; I'm super excited to see this coming to fruition.

I read through the forum here and came up with this process to git and build Qemu with AmigaOne support for my Ubuntu 20.04 Intel-based Linux box.


Your source is not the right one, please use:

https://github.com/qemu/qemu.git


The AmigaOneXe machine has only recently been added to Qemu Master, the Balaton source will also be available later, but he himself told me that he needs to bring his sources up to the Master level, including some patches that are currently still needed.

I recommend you the following way:

git clone https://github.com/qemu/qemu.git
cd qemu


Currently the patch from https://patchew.org/QEMU/2023111610335 ... cave-ayland@ilande.co.uk/ is still needed (ide fix) you can get the patch with:

git am path/to/mbox Add Qemu.

Afterwards you can build (git checkout AmigaOne is no longer necessary) with:

./configure --target-list=ppc-softmmu
make


Your Qemu command line looks good so far, that part:

-serial stdio\
-d unimp,guest_errors \
-trace enable="via*"


You can leave it out, it's only important if you want to debug.


Edited by Maijestro on 2023/11/17 18:19:28
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: qemu emualtion of AmigaONE XE
Quite a regular
Quite a regular


See User information
@tekmage
Instead of modifying the CD maybe easier to create a boot partition as described on my pegasos2 install page:
http://zero.eikhttp://zero.eik.bme.hu ... u/amiga/aos_pegasos2.html

You need slb_v2 on the disk to boot on amigaone so you can't use amitools to partition the drive. Instead create an empty image and boot sam460ex then partition it installing slb_v2 from the System/L dir of the AmigaOne CD then create a boot partition and copy System/Kickstart from the AmigaOne CD to Kickstart on the boot partition. Then add siliconmotion502.chip from the Sam460 install CD and add it to Kickstart/Kicklayout and also comment out MODULE Kickstart/a1floppy.device.kmod when using QEMU older than future 8.2.

You should keep -serial stdio to see firmware messages, other debug logs are probably too verbose and not so helpful so not needed unless debugging.

I'll update the qmiga repo later (waiting for some fixes to be merged in QEMU master), it's still an older version so using QEMU master with the via-ide legacy mode patch series applied is recommended but may work with older version too. I think your problem may have been not disabling a1floppy.

Go to top
Re: qemu emualtion of AmigaONE XE
Just can't stay away
Just can't stay away


See User information
I don't know anything about QEmu, but unless there is a default file name for CD images in Quote:
-drive if=none,id=cd \
-device ide-cd,drive=cd,bus=ide.1 \
the file name of the CD image may be missing?

@balaton
My AmiDVD tools supports creating AmigaOne SE/XE/µA1/SAM4x0 bootable CD/DVD image files (burning them to CDs and DVDs as well, but that's useless for QEmu), incl. adding the required slb_v2 to it.


Edited by joerg on 2023/11/18 21:16:28
Go to top
Re: qemu emualtion of AmigaONE XE
Not too shy to talk
Not too shy to talk


See User information
@joerg
You are right I think the cdrom image is missing.
In QEMU in this case "-cdrom <name_image>" is sufficient. No need to add the device directly.

Additionally, if qemu with git - no additional sound card "-device es1370" is needed. VIA card emulation is set in the hardware configuration and works.

Go to top

  Register To Post
« 1 ... 11 12 13 (14)

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project