On May 21, 2019 1:19 AM, "Philippe Mathieu-Daudé" <f4...@amsat.org> wrote: > > Similar to the x86_64/pc test, it boots a Linux kernel on a Malta > machine and verify the serial is working. > > Use the documentation added in commit f7d257cb4a17 to test > nanoMIPS kernels and the I7200 CPU. > > This test can be run using: > > $ avocado --show=console run -t arch:mipsel tests/acceptance/boot_linux_console.py > console: [ 0.000000] Linux version 4.15.18-00432-gb2eb9a8b (emubuild@mipscs563) (gcc version 6.3.0 (Codescape GNU Tools 2018.04-02 for nanoMIPS Linux)) #1 SMP Wed Jun 27 11:10:08 PDT 2018 > console: [ 0.000000] GCRs appear to have been moved (expected them at 0x1fbf8000)! > console: [ 0.000000] GCRs appear to have been moved (expected them at 0x1fbf8000)! > console: [ 0.000000] CPU0 revision is: 00010000 (MIPS GENERIC QEMU) > console: [ 0.000000] MIPS: machine is mti,malta > console: [ 0.000000] Determined physical RAM map: > console: [ 0.000000] memory: 08000000 @ 00000000 (usable) > console: [ 0.000000] earlycon: ns16550a0 at I/O port 0x3f8 (options '38400n8') > console: [ 0.000000] bootconsole [ns16550a0] enabled > console: [ 0.000000] User-defined physical RAM map: > console: [ 0.000000] memory: 10000000 @ 00000000 (usable) > console: [ 0.000000] Initrd not found or empty - disabling initrd > console: [ 0.000000] MIPS CPS SMP unable to proceed without a CM > console: [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. > console: [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes > console: [ 0.000000] This processor doesn't support highmem. -262144k highmem ignored > console: [ 0.000000] Zone ranges: > console: [ 0.000000] Normal [mem 0x0000000000000000-0x000000000fffffff] > console: [ 0.000000] HighMem empty > console: [ 0.000000] Movable zone start for each node > console: [ 0.000000] Early memory node ranges > console: [ 0.000000] node 0: [mem 0x0000000000000000-0x000000000fffffff] > console: [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff] > console: [ 0.000000] random: get_random_bytes called from start_kernel+0x60/0x2f0 with crng_init=0 > console: [ 0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s36620 r8192 d20724 u65536 > console: [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64960 > console: [ 0.000000] Kernel command line: printk.time=0 mem=256m@@0x0 console=ttyS0 earlycon > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > ---
Fantastiquement. Acked-by: Aleksandar Markovic <amarko...@wavecomp.com> > tests/acceptance/boot_linux_console.py | 58 ++++++++++++++++++++++++++ > 1 file changed, 58 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index 6aa084e049..1c330871c0 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -10,6 +10,8 @@ > > import os > import logging > +import lzma > +import shutil > > from avocado_qemu import Test > from avocado.utils import process > @@ -136,6 +138,62 @@ class BootLinuxConsole(Test): > console_pattern = 'Kernel command line: %s' % kernel_command_line > self.wait_for_console_pattern(console_pattern) > > + def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash): > + kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > + kernel_path = self.workdir + "kernel" > + with lzma.open(kernel_path_xz, 'rb') as f_in: > + with open(kernel_path, 'wb') as f_out: > + shutil.copyfileobj(f_in, f_out) > + > + self.vm.set_machine('malta') > + self.vm.set_console() > + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE > + + 'mem=256m@@0x0 ' > + + 'console=ttyS0') > + self.vm.add_args('-no-reboot', > + '-cpu', 'I7200', > + '-kernel', kernel_path, > + '-append', kernel_command_line) > + self.vm.launch() > + console_pattern = 'Kernel command line: %s' % kernel_command_line > + self.wait_for_console_pattern(console_pattern) > + > + def test_mips_malta32el_nanomips_4k(self): > + """ > + :avocado: tags=arch:mipsel > + :avocado: tags=machine:malta > + :avocado: tags=endian:little > + """ > + kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/ ' > + 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/' > + 'generic_nano32r6el_page4k.xz') > + kernel_hash = '477456aafd2a0f1ddc9482727f20fe9575565dd6' > + self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) > + > + def test_mips_malta32el_nanomips_16k_up(self): > + """ > + :avocado: tags=arch:mipsel > + :avocado: tags=machine:malta > + :avocado: tags=endian:little > + """ > + kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/ ' > + 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/' > + 'generic_nano32r6el_page16k_up.xz') > + kernel_hash = 'e882868f944c71c816e832e2303b7874d044a7bc' > + self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) > + > + def test_mips_malta32el_nanomips_64k_dbg(self): > + """ > + :avocado: tags=arch:mipsel > + :avocado: tags=machine:malta > + :avocado: tags=endian:little > + """ > + kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/ ' > + 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/' > + 'generic_nano32r6el_page64k_dbg.xz') > + kernel_hash = '18d1c68f2e23429e266ca39ba5349ccd0aeb7180' > + self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) > + > def test_aarch64_virt(self): > """ > :avocado: tags=arch:aarch64 > -- > 2.19.1 >