* Re: Running linux on qemu omap [not found] ` <20190521232323.GD3621@darkstar.musicnaut.iki.fi> @ 2019-05-22 9:33 ` Corentin Labbe 2019-05-22 18:19 ` Aaro Koskinen 0 siblings, 1 reply; 13+ messages in thread From: Corentin Labbe @ 2019-05-22 9:33 UTC (permalink / raw) To: Aaro Koskinen; +Cc: Tony Lindgren, linux-omap, qemu-devel, linux-kernel On Wed, May 22, 2019 at 02:23:23AM +0300, Aaro Koskinen wrote: > Hi, > > On Mon, May 20, 2019 at 09:05:33PM +0200, Corentin Labbe wrote: > > Hello > > > > I am working on adding a maximum set of qemu machine on kernelCI. > > That's cool. > > > For OMAP, five machine exists and I fail to boot any of them. > > Which machines? Hello qemu-system-arm -M help |grep OMAP cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) n800 Nokia N800 tablet aka. RX-34 (OMAP2420) n810 Nokia N810 tablet aka. RX-44 (OMAP2420) sx1 Siemens SX1 (OMAP310) V2 sx1-v1 Siemens SX1 (OMAP310) V1 > > > The maximum I can get with omap1_defconfig is > > qemu-system-arm -kernel zImage -nographic -machine cheetah -append 'root=/dev/ram0 console=ttyO0' > > Uncompressing Linux... done, booting the kernel. > > then nothing more. > > It's known that omap1_defconfig doesn't work well for QEMU or > "multi-board" usage. Perhaps the kernel size is now just too big? > I'm using a custom config for every OMAP1 board anyway... > > > Does someone have a working config+version to share ? > > I have used the below config for OMAP1 SX1 board (the only one I got > working with QEMU). Unfortunately the functionality is quite limited, > but it still allows to run e.g. GCC bootstrap & testsuite, that is rare > nowadays for armv4t. > > I'm using the following command line with qemu-system-arm 3.1.0: > > -M sx1 \ > -kernel "sx1-zImage" \ > -nographic \ > -drive file="sx1-mmc",if=sd,format=raw \ > -no-reboot > > This should work with v5.1 kernel. > > I'm also interested to run other OMAP kernels under QEMU, e.g. cheetah > (the real device, Palm TE works OK with the current mainline), and it > would be interesting to know why QEMU/kernel has regressed... > thanks, with your config I was able to boot both sx1 and cheetah (by adding CONFIG_MACH_OMAP_PALMTE=y) Now I need to find what is missing (or in excess) in omap1_defconfig to made it boot Another obstacle is the disabling of the initrd, perhaps by using sdcard as an "initrd" will do the trick, but the sdcard is ignored for the moment. (I have added linux-kernel@vger.kernel.org for larger audience in case of someone have n800/n810 working) Regards qemu-system-arm -kernel zImage -nographic -machine sx1 -append 'console=ttyS0 root=/dev/sda' -m 256 -cpu ti925t -drive format=qcow2,file=disk.img,if=sd omap_clkm_write: clocking scheme set to synchronous scalable [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.2.0-rc1-next-20190521-sx1+ (compile@Red) (gcc version 8.2.0 (Gentoo 8.2.0-r6 p1.7)) #7 Wed May 22 11:04:32 CEST 2019 [ 0.000000] CPU: ARM925T [54029252] revision 2 (ARMv4T), cr=0000317f [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: OMAP310 based Siemens SX1 [ 0.000000] Ignoring tag cmdline (using the default kernel command line) [ 0.000000] Memory policy: Data cache writethrough [ 0.000000] OMAP0310 revision 2 handled as 15xx id: a8858bfac9581f0e [ 0.000000] Clocks: ARM_SYSST: 0x003a DPLL_CTL: 0x2002 ARM_CKCTL: 0x3000 [ 0.000000] Clocking rate (xtal/DPLL1/MPU): 12.0/12.0/12.0 MHz [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: mem=32M console=ttyS0,115200n8 [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Memory: 30104K/32768K available (1680K kernel code, 91K rwdata, 292K rodata, 104K init, 62K bss, 2664K reserved, 0K cma-reserved) [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] Total of 64 interrupts in 2 interrupt banks [ 0.000435] sched_clock: 32 bits at 6MHz, resolution 166ns, wraps every 357913940908ns [ 0.000873] clocksource: mpu_timer2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 318543407797 ns [ 0.003038] Calibrating delay loop... 469.40 BogoMIPS (lpj=2347008) [ 0.191676] pid_max: default: 4096 minimum: 301 [ 0.192828] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.192886] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.206350] *** VALIDATE proc *** [ 0.206803] CPU: Testing write buffer coherency: ok [ 0.222891] Setting up static identity map for 0x10008400 - 0x1000842c [ 0.232941] devtmpfs: initialized [ 0.240739] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.240916] futex hash table entries: 16 (order: -5, 192 bytes) [ 0.245376] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.259782] omap_gpio omap_gpio.0: Runtime PM disabled, clock forced on. [ 0.265624] irq: Cannot allocate irq_descs @ IRQ80, assuming pre-allocated [ 0.273854] irq: Cannot allocate irq_descs @ IRQ96, assuming pre-allocated [ 0.276477] MUX: Setting register UART1_TX [ 0.276528] FUNC_MUX_CTRL_9 (0xfffe1028) = 0x00000000 -> 0x00200000 [ 0.276572] PULL_DWN_CTRL_2 (0xfffe1048) = 0x00000000 -> 0x00000008 [ 0.276616] MUX: Setting register UART1_RTS [ 0.276639] FUNC_MUX_CTRL_9 (0xfffe1028) = 0x00200000 -> 0x00201000 [ 0.276663] PULL_DWN_CTRL_2 (0xfffe1048) = 0x00000008 -> 0x00000009 [ 0.276689] MUX: Setting register UART2_TX [ 0.276713] FUNC_MUX_CTRL_C (0xfffe1034) = 0x00000000 -> 0x08000000 [ 0.276736] PULL_DWN_CTRL_3 (0xfffe104c) = 0x00000000 -> 0x00000008 [ 0.276765] MUX: Setting register UART2_RTS [ 0.276790] FUNC_MUX_CTRL_C (0xfffe1034) = 0x08000000 -> 0x09000000 [ 0.276813] PULL_DWN_CTRL_3 (0xfffe104c) = 0x00000008 -> 0x0000000c [ 0.276839] MUX: Setting register UART3_TX [ 0.276863] FUNC_MUX_CTRL_6 (0xfffe101c) = 0x00000000 -> 0x00000001 [ 0.276886] PULL_DWN_CTRL_0 (0xfffe1040) = 0x00000000 -> 0x40000000 [ 0.278190] MUX: Setting register MMC_CMD [ 0.278220] FUNC_MUX_CTRL_A (0xfffe102c) = 0x00000000 -> 0x00000000 [ 0.278246] PULL_DWN_CTRL_2 (0xfffe1048) = 0x00000009 -> 0x00000009 [ 0.278275] MUX: Setting register MMC_CLK [ 0.278303] FUNC_MUX_CTRL_A (0xfffe102c) = 0x00000000 -> 0x00000000 [ 0.278333] MUX: Setting register MMC_DAT0 [ 0.278359] FUNC_MUX_CTRL_B (0xfffe1030) = 0x00000000 -> 0x00000000 [ 0.278391] PULL_DWN_CTRL_2 (0xfffe1048) = 0x00000009 -> 0x00000009 [ 0.282369] Clocking rate (xtal/DPLL1/MPU): 12.0/120.0/120.0 MHz [ 0.284362] DMA support for OMAP15xx initialized [ 0.305623] omap-dma-engine omap-dma-engine: failed to get L1 IRQ: -6 [ 0.345197] omap-dma-engine omap-dma-engine: OMAP DMA engine driver [ 0.350775] SCSI subsystem initialized [ 0.352338] omap_i2c omap_i2c.1: Runtime PM disabled, clock forced on. [ 0.352387] omap_i2c omap_i2c.1: Runtime PM disabled, clock forced on. [ 0.354801] omap_i2c omap_i2c.1: bus 1 rev1.1 at 100 kHz [ 0.356226] clocksource: Switched to clocksource mpu_timer2 [ 0.373816] workingset: timestamp_bits=30 max_order=13 bucket_order=0 [ 0.376643] io scheduler bfq registered [ 0.380205] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled [ 0.391718] printk: console [ttyS0] disabled [ 0.599303] serial8250.0: ttyS0 at MMIO 0xfffb0000 (irq = 62, base_baud = 750000) is a 16550A [ 0.632021] printk: console [ttyS0] enabled [ 0.837594] serial8250.0: ttyS1 at MMIO 0xfffb0800 (irq = 63, base_baud = 750000) is a 16550A [ 1.044254] serial8250.0: ttyS2 at MMIO 0xfffb9800 (irq = 31, base_baud = 750000) is a 16550A [ 1.047921] i2c /dev entries driver [ 1.050288] mmci-omap mmci-omap.0: Runtime PM disabled, clock forced on. [ 1.050782] mmci-omap mmci-omap.0: Runtime PM disabled, clock forced on. [ 1.090290] clock: disabling unused clocks to save power [ 1.090838] Skipping reset check for DSP domain clock "dsptim_ck" [ 1.091249] Skipping reset check for DSP domain clock "dspxor_ck" [ 1.091646] Skipping reset check for DSP domain clock "dspper_ck" [ 1.092421] random: get_random_bytes called from 0xc0018860 with crng_init=0 [ 1.095384] mmci-omap mmci-omap.0: command timeout (CMD52) [ 1.096356] mmci-omap mmci-omap.0: command timeout (CMD52) [ 1.101963] hctosys: unable to open rtc device (rtc0) [ 1.113769] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 [ 1.114266] Please append a correct "root=" boot option; here are the available partitions: [ 1.115058] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 1.116009] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Running linux on qemu omap 2019-05-22 9:33 ` Running linux on qemu omap Corentin Labbe @ 2019-05-22 18:19 ` Aaro Koskinen 2019-05-23 11:27 ` [Qemu-devel] " Thomas Huth 0 siblings, 1 reply; 13+ messages in thread From: Aaro Koskinen @ 2019-05-22 18:19 UTC (permalink / raw) To: Corentin Labbe; +Cc: Tony Lindgren, linux-omap, qemu-devel, linux-kernel Hi, On Wed, May 22, 2019 at 11:33:41AM +0200, Corentin Labbe wrote: > qemu-system-arm -M help |grep OMAP > cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) > n800 Nokia N800 tablet aka. RX-34 (OMAP2420) > n810 Nokia N810 tablet aka. RX-44 (OMAP2420) > sx1 Siemens SX1 (OMAP310) V2 > sx1-v1 Siemens SX1 (OMAP310) V1 > > > > The maximum I can get with omap1_defconfig is > > > qemu-system-arm -kernel zImage -nographic -machine cheetah -append 'root=/dev/ram0 console=ttyO0' > > > Uncompressing Linux... done, booting the kernel. > > > then nothing more. With N800/N810 omap2plus_defconfig should be used instead. However, I don't think that works either (but haven't tried recently). Also with N800/N810 you need to append the DTB file to the kernel image. > thanks, with your config I was able to boot both sx1 and cheetah > (by adding CONFIG_MACH_OMAP_PALMTE=y) Great! > Now I need to find what is missing (or in excess) in omap1_defconfig > to made it boot A simple (but slow) way would be to start adding config options from omap1_defconfig one by one to the working config, and see which one makes it fail. > Another obstacle is the disabling of the initrd, perhaps by using > sdcard as an "initrd" will do the trick, but the sdcard is ignored for > the moment. Using CONFIG_INITRAMFS_SOURCE it's possible to include a file system inside the kernel image. Based on your boot log, I think the kernel probably panics before the MMC/sdcard is found (asynchronous probe). You could try adding rootwait to the kernel command line. (My config has CONFIG_CMDLINE_FORCE=y, so you need to add it to CONFIG_CMDLINE, as QEMU -append gets ignored). Also the sdcard will appear as /dev/mmcblk0 instead of /dev/sda. The sdcard is working fine for me, and it can be used to run a full-blown distro rootfs; I don't know what is the capacity limit in the MMC driver but at least 16 GB image is working fine: [ 2.011012] mmc0: new SDHC card at address 4567 [ 2.016419] mmcblk0: mmc0:4567 QEMU! 16.0 GiB A. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-22 18:19 ` Aaro Koskinen @ 2019-05-23 11:27 ` Thomas Huth 2019-05-23 12:00 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 13+ messages in thread From: Thomas Huth @ 2019-05-23 11:27 UTC (permalink / raw) To: Aaro Koskinen, Corentin Labbe Cc: Tony Lindgren, linux-omap, qemu-devel, linux-kernel, Philippe Mathieu-Daudé On 22/05/2019 20.19, Aaro Koskinen wrote: > Hi, > > On Wed, May 22, 2019 at 11:33:41AM +0200, Corentin Labbe wrote: >> qemu-system-arm -M help |grep OMAP >> cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) >> n800 Nokia N800 tablet aka. RX-34 (OMAP2420) >> n810 Nokia N810 tablet aka. RX-44 (OMAP2420) >> sx1 Siemens SX1 (OMAP310) V2 >> sx1-v1 Siemens SX1 (OMAP310) V1 >> >>>> The maximum I can get with omap1_defconfig is >>>> qemu-system-arm -kernel zImage -nographic -machine cheetah -append 'root=/dev/ram0 console=ttyO0' >>>> Uncompressing Linux... done, booting the kernel. >>>> then nothing more. > > With N800/N810 omap2plus_defconfig should be used instead. However, > I don't think that works either (but haven't tried recently). Also with > N800/N810 you need to append the DTB file to the kernel image. FWIW, Philippe recently posted a mail how to run older kernels on n810: https://www.mail-archive.com/qemu-devel@nongnu.org/msg610653.html HTH, Thomas ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-23 11:27 ` [Qemu-devel] " Thomas Huth @ 2019-05-23 12:00 ` Philippe Mathieu-Daudé 2019-05-23 18:36 ` Aaro Koskinen 2019-05-27 6:32 ` Tony Lindgren 0 siblings, 2 replies; 13+ messages in thread From: Philippe Mathieu-Daudé @ 2019-05-23 12:00 UTC (permalink / raw) To: Thomas Huth, Aaro Koskinen, Corentin Labbe Cc: Tony Lindgren, linux-omap, qemu-devel, linux-kernel, Peter Maydell [-- Attachment #1.1: Type: text/plain, Size: 1597 bytes --] On 5/23/19 1:27 PM, Thomas Huth wrote: > On 22/05/2019 20.19, Aaro Koskinen wrote: >> Hi, >> >> On Wed, May 22, 2019 at 11:33:41AM +0200, Corentin Labbe wrote: >>> qemu-system-arm -M help |grep OMAP >>> cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) >>> n800 Nokia N800 tablet aka. RX-34 (OMAP2420) >>> n810 Nokia N810 tablet aka. RX-44 (OMAP2420) >>> sx1 Siemens SX1 (OMAP310) V2 >>> sx1-v1 Siemens SX1 (OMAP310) V1 >>> >>>>> The maximum I can get with omap1_defconfig is >>>>> qemu-system-arm -kernel zImage -nographic -machine cheetah -append 'root=/dev/ram0 console=ttyO0' >>>>> Uncompressing Linux... done, booting the kernel. >>>>> then nothing more. >> >> With N800/N810 omap2plus_defconfig should be used instead. However, >> I don't think that works either (but haven't tried recently). Also with >> N800/N810 you need to append the DTB file to the kernel image. > > FWIW, Philippe recently posted a mail how to run older kernels on n810: > > https://www.mail-archive.com/qemu-devel@nongnu.org/msg610653.html What I use as reference for testing ARM boards [*] is the work of Guenter Roeck: https://github.com/groeck/linux-build-test/blob/master/rootfs/arm/run-qemu-arm.sh However I can see than none of the board listed by Corentin are tested ... That reminder me I never succeed at using the Cheetah PDA. So the OMAP310 is probably bitroting in QEMU... [*] and slowly add to upstream patches he sent that fell through the cracks of qemu-devel. Regards, Phil. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-23 12:00 ` Philippe Mathieu-Daudé @ 2019-05-23 18:36 ` Aaro Koskinen 2019-05-24 9:08 ` Peter Maydell 2019-05-27 6:32 ` Tony Lindgren 1 sibling, 1 reply; 13+ messages in thread From: Aaro Koskinen @ 2019-05-23 18:36 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Thomas Huth, Corentin Labbe, Tony Lindgren, linux-omap, qemu-devel, linux-kernel, Peter Maydell Hi, On Thu, May 23, 2019 at 02:00:41PM +0200, Philippe Mathieu-Daudé wrote: > On 5/23/19 1:27 PM, Thomas Huth wrote: > > On 22/05/2019 20.19, Aaro Koskinen wrote: > >> On Wed, May 22, 2019 at 11:33:41AM +0200, Corentin Labbe wrote: > >>> qemu-system-arm -M help |grep OMAP > >>> cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) > >>> n800 Nokia N800 tablet aka. RX-34 (OMAP2420) > >>> n810 Nokia N810 tablet aka. RX-44 (OMAP2420) > >>> sx1 Siemens SX1 (OMAP310) V2 > >>> sx1-v1 Siemens SX1 (OMAP310) V1 > >>> > >>>>> The maximum I can get with omap1_defconfig is > >>>>> qemu-system-arm -kernel zImage -nographic -machine cheetah -append 'root=/dev/ram0 console=ttyO0' > >>>>> Uncompressing Linux... done, booting the kernel. > >>>>> then nothing more. > >> > >> With N800/N810 omap2plus_defconfig should be used instead. However, > >> I don't think that works either (but haven't tried recently). Also with > >> N800/N810 you need to append the DTB file to the kernel image. > > > > FWIW, Philippe recently posted a mail how to run older kernels on n810: > > > > https://www.mail-archive.com/qemu-devel@nongnu.org/msg610653.html So it seems the issue with N8x0 is that serial console does not work. And we are missing the display support in the mainline kernel. > However I can see than none of the board listed by Corentin are tested > ... That reminder me I never succeed at using the Cheetah PDA. So the > OMAP310 is probably bitroting in QEMU... Cheetah works with serial console. I tried with console on display, and it seems to boot up, and the frame buffer window gets correctly sized but for some reason it just stays blank. A. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-23 18:36 ` Aaro Koskinen @ 2019-05-24 9:08 ` Peter Maydell 2019-05-24 15:00 ` Aaro Koskinen 0 siblings, 1 reply; 13+ messages in thread From: Peter Maydell @ 2019-05-24 9:08 UTC (permalink / raw) To: Aaro Koskinen Cc: Philippe Mathieu-Daudé, Thomas Huth, Corentin Labbe, Tony Lindgren, Linux OMAP Mailing List, QEMU Developers, lkml - Kernel Mailing List On Thu, 23 May 2019 at 19:36, Aaro Koskinen <aaro.koskinen@iki.fi> wrote: > Cheetah works with serial console. I tried with console on display, > and it seems to boot up, and the frame buffer window gets correctly > sized but for some reason it just stays blank. As a general question, when you're doing these tests are you using a kernel image that is known to work on real hardware? One problem we have with some of these older QEMU platforms is that it turns out that QEMU is only tested with the kernel, and the kernel support for the platform is only tested with QEMU, and so you get equal and opposite bugs in QEMU and the kernel that cancel each other out and don't get noticed... (On the QEMU side these platforms are all basically orphaned: if somebody submits patches to fix bugs we'll review them, but they're unlikely to get a great deal of attention otherwise. They're also quite near the top of the "maybe we'll just deprecate and then delete these" list, since we have not historically had any working guest images to test against. If there's a real userbase that wants them to continue to exist that's a different matter, of course.) thanks - PMM ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-24 9:08 ` Peter Maydell @ 2019-05-24 15:00 ` Aaro Koskinen 2019-05-24 18:59 ` Aaro Koskinen 0 siblings, 1 reply; 13+ messages in thread From: Aaro Koskinen @ 2019-05-24 15:00 UTC (permalink / raw) To: Peter Maydell, Thomas Huth Cc: Philippe Mathieu-Daudé, Corentin Labbe, Tony Lindgren, Linux OMAP Mailing List, QEMU Developers, lkml - Kernel Mailing List Hi, On Fri, May 24, 2019 at 10:08:09AM +0100, Peter Maydell wrote: > On Thu, 23 May 2019 at 19:36, Aaro Koskinen <aaro.koskinen@iki.fi> wrote: > > Cheetah works with serial console. I tried with console on display, > > and it seems to boot up, and the frame buffer window gets correctly > > sized but for some reason it just stays blank. > > As a general question, when you're doing these tests are you > using a kernel image that is known to work on real hardware? With Cheetah (I wonder where that name comes from?), yes, same for N8x0. SX1 I don't have, but the SoC is the same as on Palm TE. > One problem we have with some of these older QEMU platforms > is that it turns out that QEMU is only tested with the kernel, > and the kernel support for the platform is only tested with > QEMU, and so you get equal and opposite bugs in QEMU and the > kernel that cancel each other out and don't get noticed... > > (On the QEMU side these platforms are all basically orphaned: > if somebody submits patches to fix bugs we'll review them, > but they're unlikely to get a great deal of attention otherwise. > They're also quite near the top of the "maybe we'll just > deprecate and then delete these" list, since we have not > historically had any working guest images to test against. > If there's a real userbase that wants them to continue to > exist that's a different matter, of course.) Please don't delete OMAP boards quite yet :) In the mainline kernel they are not orphaned, they frequently get tested using actual hardware, and QEMU would help in additional testing. I'll try to get N8x0 boot to work with the minimal kernel I use on real HW. Regarding N8x0 and bluetooth (mentioned in one of the linked threads), I guess the removal of the bluetooth subsystem can be done without removing the whole machine: just don't pass the OMAP BT TAG to the kernel anymore, and it should ignore the BT hardware (just an idea based on quick read of vendor kernel sources, the mainline kernel does not support BT on this board). A. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-24 15:00 ` Aaro Koskinen @ 2019-05-24 18:59 ` Aaro Koskinen 2019-05-27 6:30 ` Thomas Huth 0 siblings, 1 reply; 13+ messages in thread From: Aaro Koskinen @ 2019-05-24 18:59 UTC (permalink / raw) To: Peter Maydell, Thomas Huth Cc: Philippe Mathieu-Daudé, Corentin Labbe, Tony Lindgren, Linux OMAP Mailing List, QEMU Developers, lkml - Kernel Mailing List Hi, On Fri, May 24, 2019 at 06:00:18PM +0300, Aaro Koskinen wrote: > Please don't delete OMAP boards quite yet :) In the mainline kernel > they are not orphaned, they frequently get tested using actual hardware, > and QEMU would help in additional testing. I'll try to get N8x0 boot to > work with the minimal kernel I use on real HW. So it was only a matter of attaching the serial console at the QEMU side (a hackish patch at the end of the mail). $ qemu-system-arm --version QEMU emulator version 4.0.0 (v4.0.0-dirty) Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers $ qemu-system-arm -M n810 -kernel zImage -nographic Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.1.0-n8x0_tiny-los_b1ac4+-00007-g7435e73d8ac4 (aaro@amd-fx-6350) (gcc version 8.3.0 (GCC)) #1 Fri May 24 20:43:02 EEST 2019 [ 0.000000] CPU: ARMv6-compatible processor [4107b362] revision 2 (ARMv6TEJ), cr=00c5387d [ 0.000000] CPU: VIPT aliasing data cache, unknown instruction cache [ 0.000000] OF: fdt: Machine model: Nokia N810 [ 0.000000] printk: bootconsole [earlycon0] enabled [ 0.000000] Memory policy: Data cache writeback [ 0.000000] OMAP2420 [...] However there are plenty of WARNs that are not present on real hardware. Anyway, it's a start. A. ... diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c index 906b7ca22d43..52ff83ec5147 100644 --- a/hw/arm/nseries.c +++ b/hw/arm/nseries.c @@ -792,6 +792,7 @@ static void n8x0_uart_setup(struct n800_s *s) qdev_connect_gpio_out(s->mpu->gpio, N8X0_BT_WKUP_GPIO, csrhci_pins_get(radio)[csrhci_pin_wakeup]); + omap_uart_attach(s->mpu->uart[2], serial_hd(0)); omap_uart_attach(s->mpu->uart[BT_UART], radio); } ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-24 18:59 ` Aaro Koskinen @ 2019-05-27 6:30 ` Thomas Huth 0 siblings, 0 replies; 13+ messages in thread From: Thomas Huth @ 2019-05-27 6:30 UTC (permalink / raw) To: Aaro Koskinen, Peter Maydell Cc: Philippe Mathieu-Daudé, Corentin Labbe, Tony Lindgren, Linux OMAP Mailing List, QEMU Developers, lkml - Kernel Mailing List On 24/05/2019 20.59, Aaro Koskinen wrote: > Hi, > > On Fri, May 24, 2019 at 06:00:18PM +0300, Aaro Koskinen wrote: >> Please don't delete OMAP boards quite yet :) In the mainline kernel >> they are not orphaned, they frequently get tested using actual hardware, >> and QEMU would help in additional testing. I'll try to get N8x0 boot to >> work with the minimal kernel I use on real HW. > > So it was only a matter of attaching the serial console at the QEMU side > (a hackish patch at the end of the mail). Does not look too much hackish to me. Could you please send it as a proper patch to the list (with patch description and Signed-off-by line)? Thomas > > diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c > index 906b7ca22d43..52ff83ec5147 100644 > --- a/hw/arm/nseries.c > +++ b/hw/arm/nseries.c > @@ -792,6 +792,7 @@ static void n8x0_uart_setup(struct n800_s *s) > qdev_connect_gpio_out(s->mpu->gpio, N8X0_BT_WKUP_GPIO, > csrhci_pins_get(radio)[csrhci_pin_wakeup]); > > + omap_uart_attach(s->mpu->uart[2], serial_hd(0)); > omap_uart_attach(s->mpu->uart[BT_UART], radio); > } > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-23 12:00 ` Philippe Mathieu-Daudé 2019-05-23 18:36 ` Aaro Koskinen @ 2019-05-27 6:32 ` Tony Lindgren 2019-05-27 15:56 ` Guenter Roeck 1 sibling, 1 reply; 13+ messages in thread From: Tony Lindgren @ 2019-05-27 6:32 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Thomas Huth, Aaro Koskinen, Corentin Labbe, linux-omap, qemu-devel, linux-kernel, Peter Maydell, Guenter Roeck Hi, * Philippe Mathieu-Daudé <philmd@redhat.com> [190523 12:01]: > What I use as reference for testing ARM boards [*] is the work of > Guenter Roeck: > https://github.com/groeck/linux-build-test/blob/master/rootfs/arm/run-qemu-arm.sh I think Guenter also has v2.3.50-local-linaro branch in his github repo that has support for few extra boards like Beagleboard. Not sure what's the current branch to use though. Regards, Tony ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-27 6:32 ` Tony Lindgren @ 2019-05-27 15:56 ` Guenter Roeck 2019-05-27 16:03 ` Philippe Mathieu-Daudé 2019-05-27 18:58 ` Peter Maydell 0 siblings, 2 replies; 13+ messages in thread From: Guenter Roeck @ 2019-05-27 15:56 UTC (permalink / raw) To: Tony Lindgren, Philippe Mathieu-Daudé Cc: Thomas Huth, Aaro Koskinen, Corentin Labbe, linux-omap, qemu-devel, linux-kernel, Peter Maydell On 5/26/19 11:32 PM, Tony Lindgren wrote: > Hi, > > * Philippe Mathieu-Daudé <philmd@redhat.com> [190523 12:01]: >> What I use as reference for testing ARM boards [*] is the work of >> Guenter Roeck: >> https://github.com/groeck/linux-build-test/blob/master/rootfs/arm/run-qemu-arm.sh > > I think Guenter also has v2.3.50-local-linaro branch in his > github repo that has support for few extra boards like Beagleboard. > Not sure what's the current branch to use though. > I'd be happy to use a different (supported) branch, but the Linaro branch was the only one I could find that supports those boards. Unfortunately, qemu changed so much since 2.3 that it is all but impossible to merge the code into mainline qemu without spending a lot of effort on it. Guenter ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-27 15:56 ` Guenter Roeck @ 2019-05-27 16:03 ` Philippe Mathieu-Daudé 2019-05-27 18:58 ` Peter Maydell 1 sibling, 0 replies; 13+ messages in thread From: Philippe Mathieu-Daudé @ 2019-05-27 16:03 UTC (permalink / raw) To: Guenter Roeck, Tony Lindgren Cc: Thomas Huth, Aaro Koskinen, Corentin Labbe, linux-omap, qemu-devel, linux-kernel, Peter Maydell On 5/27/19 5:56 PM, Guenter Roeck wrote: > On 5/26/19 11:32 PM, Tony Lindgren wrote: >> Hi, >> >> * Philippe Mathieu-Daudé <philmd@redhat.com> [190523 12:01]: >>> What I use as reference for testing ARM boards [*] is the work of >>> Guenter Roeck: >>> https://github.com/groeck/linux-build-test/blob/master/rootfs/arm/run-qemu-arm.sh >>> >> >> I think Guenter also has v2.3.50-local-linaro branch in his >> github repo that has support for few extra boards like Beagleboard. >> Not sure what's the current branch to use though. >> > I'd be happy to use a different (supported) branch, but the Linaro branch > was the only one I could find that supports those boards. Unfortunately, > qemu changed so much since 2.3 that it is all but impossible to merge > the code into mainline qemu without spending a lot of effort on it. Peter commented on that here: https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg00137.html "This is not a trivial job (my estimate was that it would be a couple of months work to get the complete set sorted out and upstreamed ..." ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] Running linux on qemu omap 2019-05-27 15:56 ` Guenter Roeck 2019-05-27 16:03 ` Philippe Mathieu-Daudé @ 2019-05-27 18:58 ` Peter Maydell 1 sibling, 0 replies; 13+ messages in thread From: Peter Maydell @ 2019-05-27 18:58 UTC (permalink / raw) To: Guenter Roeck Cc: Tony Lindgren, Philippe Mathieu-Daudé, Thomas Huth, Aaro Koskinen, Corentin Labbe, Linux OMAP Mailing List, QEMU Developers, lkml - Kernel Mailing List On Mon, 27 May 2019 at 16:56, Guenter Roeck <linux@roeck-us.net> wrote: > I'd be happy to use a different (supported) branch, but the Linaro branch > was the only one I could find that supports those boards. Unfortunately, > qemu changed so much since 2.3 that it is all but impossible to merge > the code into mainline qemu without spending a lot of effort on it. Even back at 2.3 it wasn't possible to merge the code into mainline without spending a lot of effort -- that's why it was not merged :-) thanks -- PMM ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-05-27 18:59 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20190520190533.GA28160@Red>
[not found] ` <20190521232323.GD3621@darkstar.musicnaut.iki.fi>
2019-05-22 9:33 ` Running linux on qemu omap Corentin Labbe
2019-05-22 18:19 ` Aaro Koskinen
2019-05-23 11:27 ` [Qemu-devel] " Thomas Huth
2019-05-23 12:00 ` Philippe Mathieu-Daudé
2019-05-23 18:36 ` Aaro Koskinen
2019-05-24 9:08 ` Peter Maydell
2019-05-24 15:00 ` Aaro Koskinen
2019-05-24 18:59 ` Aaro Koskinen
2019-05-27 6:30 ` Thomas Huth
2019-05-27 6:32 ` Tony Lindgren
2019-05-27 15:56 ` Guenter Roeck
2019-05-27 16:03 ` Philippe Mathieu-Daudé
2019-05-27 18:58 ` Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox