On 2011-05-25 10:13, Ian Campbell wrote:
> On Tue, 2011-05-24 at 18:18 +0200, Jan Kiszka wrote:
>> On 2011-05-24 18:06, Ian Campbell wrote:
>>> On Sun, 2011-05-22 at 13:00 +0200, Jan Kiszka wrote:
>>>> From: Jan Kiszka <jan.kis...@siemens.com>
>>>>
>>>> -machine somehow suggests that it selects the machine, but it doesn't.
>>>> Fix that before this command is set in stone.
>>>>
>>>> Actually, -machine should supersede -M and allow to introduce arbitrary
>>>> per-machine options to the command line. That will change the internal
>>>> realization again, but we will be able to keep the user interface
>>>> stable.
>>>>
>>>> CC: Anthony PERARD <anthony.per...@citrix.com>
>>>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
>>>
>>> "-machine xenfv" doesn't work for me with this patch, it gives:
>>>         Program received signal SIGSEGV, Segmentation fault.
>>>         hypercall_buffer_cache_lock (xch=0x0) at xc_hcall_buf.c:36
>>>         36  xc_hcall_buf.c: No such file or directory.
>>>             in xc_hcall_buf.c
>>>         (gdb) bt
>>>         #0  hypercall_buffer_cache_lock (xch=0x0) at xc_hcall_buf.c:36
>>>         #1  0xb7d53f1d in hypercall_buffer_cache_alloc (xch=0x0, 
>>> b=0xbffff77c, nr_pages=1) at xc_hcall_buf.c:52
>>>         #2  xc__hypercall_buffer_alloc_pages (xch=0x0, b=0xbffff77c, 
>>> nr_pages=1) at xc_hcall_buf.c:128
>>>         #3  0xb7d54028 in xc__hypercall_buffer_alloc (xch=0x0, 
>>> b=0xbffff77c, size=16) at xc_hcall_buf.c:162
>>>         #4  0xb7d42719 in xc_get_hvm_param (handle=0x0, dom=248, param=5, 
>>> value=0xbffff810) at xc_domain.c:1078
>>>         #5  0x08252777 in xen_hvm_init () at 
>>> /home/ianc/devel/qemu.git/xen-all.c:803
>>>         #6  0x082921e9 in pc_xen_hvm_init (ram_size=536870912, 
>>> boot_device=0xbffffabb "cda", kernel_filename=0x0, kernel_cmdline=0x82d648f 
>>> "", initrd_filename=0x0, cpu_model=0x0) at 
>>> /home/ianc/devel/qemu.git/hw/pc_piix.c:246
>>>         #7  0x081e3f0e in main (argc=26, argv=0xbffffba4, envp=0xbffffc10) 
>>> at /home/ianc/devel/qemu.git/vl.c:3162
>>>
>>> I suspect this is because xen_init() (which sets xch) is never called,
>>> perhaps because it causes the accelerator to always be tcg? If I use
>>> "-machine xenfv,accel=xen" then it works as expected, -M continues to
>>> work too AFAICT.
>>>
>>> It would be nice to retain the behaviour of defaulting to accel=xen for
>>> machine=xenfv. (to be honest I can't quite see where this behaviour came
>>> from, nor what about this patch changes it...)
>>
>> Well, first of all I think this revealed a Xen bug because it crashes
>> when you try to run xenfv with an inappropriate accelerator, no? What is
>> the result of -machine xenfv,accel=tcg or, without my patch, -M xenfv
>> -machine accel=tcg?
> 
> Unsurprisingly it crashed...
> 
> I'm not sure if this is a bug in the xen side of simply a case of
> providing enough rope. I didn't really follow the threads which resulted
> in the accel stuff all that closely so I'm not sure what the intention
> was, it seems to me that the accel option is invalid with certain
> machine types though.
> 
> I suppose in theory -machine xenpv,accel=kvm might result in xenner or
> something, accel=xenpv,tcg I'm less sure about (perhaps xenner too?).
> For -machine xenfv I don't expect anything other than accel=xen makes
> much sense.

The point is that crashing is always a very poor way of reporting a
misconfiguration to the user. I bet you are able to detect and report
that more gracefully, e.g. during xenfv machine init.

> 
>> Then the question is what accel options are actually picked with
>> -machine xenfv, or why the default options are maybe not considered. I
>> don't have any Xen around, but I will check how far I can debug this -
>> or actually try to understand what I coded if nothing helps.
> 
> I saw a follow up patch -- I'll give it a go.

TIA,
Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to