qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] Add i.MX I2C device emulator.


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 1/2] Add i.MX I2C device emulator.
Date: Sat, 04 May 2013 10:27:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

Am 04.05.2013 10:22, schrieb Jean-Christophe DUBOIS:
> On 05/03/2013 06:41 PM, Andreas Färber wrote:
>>    CC    tests/libi2c-imx.o
>>    LINK  tests/tmp105-test
>>    CC    tests/ds1338-test.o
>>    LINK  tests/ds1338-test
>> GTESTER check-qtest-arm
>> Kernel image must be specified
>> Without seeing your code and since tmp105-test is working on my side, I
>> can only guess that your ds1338-test is starting either your own machine
>> or some machine that terminates with above error.
> the ds1338-test.c code is very similar to the tmp105-test.c code.
> 
> The tmp105-test.c code starts a n800 machine while the ds1338-test.c
> starts a imx25_3ds machine (to get the i.MX I2C device, it seems natural).
> 
> Nowhere in the tmp105-test.c code is any kernel or initrd file
> specified. So I did the same with ds1338-test.c.

The mentioned machine init is part of the emulation, not of qtest.

> But then "make check" is complaining the kernel is missing ...
> 
> So it seems the n800 allows qemu to start even if no parameters (ram
> size, kernel file, ...) are provided (you can actually confirm this by
> running "qemu-system-arm -machine n800"). This is not the default
> behavior for most implemented platform (including imx25_3ds) that will
> refuse to start if no parameter is given.
> 
> Is there a new requirement mandating platforms to start with guessed
> parameters if not provided on the command line in order to be compatible
> with qtest?
>>
>> The solution is to only mandate -kernel, -initrd, -dtb, etc. in the
>> machine init function if !qtest_enabled() or so.
> 
> I am calling arm_load_kernel() with a pointer to a "struct arm_boot_info".
> 
> The first thing done by arm_load_kernel() is to check for the kernel
> parameter without checking for qtest_enable() and all.
> 
>     /* Load the kernel.  */
>     if (!info->kernel_filename) {
>         fprintf(stderr, "Kernel image must be specified\n");
>         exit(1);
>     }
> 
> Do you mean arm_load_kernel() should test for qtest_enable() or should I
> call arm_load_kernel() only if !qtest_enable() (there is not much
> platform checking for qtest_enable() at this time and it seems somebody
> need to set the "entry" field in the info struct).

In short, qtest does not execute any code, so it does not need to load
binaries or set CPU entry addresses.

Yes, I would say there is no point calling arm_load_kernel() if
!qtest_enabled().

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]