All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: grub-devel@gnu.org, keir@xen.org, david.woodhouse@intel.com,
	stefano.stabellini@eu.citrix.com,
	Daniel Kiper <daniel.kiper@oracle.com>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xen.org,
	ross.philipson@citrix.com, boris.ostrovsky@oracle.com,
	richard.l.maliszewski@intel.com,
	Ian Campbell <ian.campbell@citrix.com>
Subject: Re: EFI and multiboot2 devlopment work for Xen
Date: Tue, 22 Oct 2013 10:43:09 -0400	[thread overview]
Message-ID: <20131022144309.GA18547@phenom.dumpdata.com> (raw)
In-Reply-To: <20131022134252.GA27302@phenom.dumpdata.com>

On Tue, Oct 22, 2013 at 09:42:52AM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, Oct 22, 2013 at 10:59:33AM +0100, Jan Beulich wrote:
> > >>> On 22.10.13 at 11:45, Ian Campbell <ian.campbell@citrix.com> wrote:
> > > On Tue, 2013-10-22 at 10:31 +0100, Jan Beulich wrote:
> > >> >>> On 22.10.13 at 11:26, Ian Campbell <ian.campbell@citrix.com> wrote:
> > >> > AIUI "efilinux" is somewhat badly named and does not use the Linux Boot
> > >> > Protocol (i.e. the (b)zImage stuff with real mode entry point) either.
> > >> > It actually loads and executes the kernel binary as a PE/COFF executable
> > >> > (the native UEFI binary executable format). xen.efi is a PE/COFF binary
> > >> > too and could equally well be launched by linuxefi in this way.
> > >> 
> > >> Except that unless I'm mistaken "linuxefi" still expects to find certain
> > >> Linux-specific internal data structures inside the PE image, which I
> > >> don't see us wanting to be emulating. That's the main difference to
> > >> "chainloader" afaict.
> > > 
> > > Ah, I'd been led to believe it was just the lack of a call to
> > > ExitBootServices, but I didn't check. What you say sounds completely
> > > plausible.
> > > 
> > > Do you know what sort of Linux specific data structures are we talking
> > > about?
> > 
> > The setup header I would assume (i.e. the bits surrounding the
> > "HdrS" signature). But I'm only guessing anyway.
> 
> This is a bit lengthy email, so please get your coffee/tea ready.
> 
> Peter Jones was kind enough to educate me on IRC what it does. The
> GRUB2 module calls the PE/COFF executable (so using the Microsoft ABI
> for passing parameters) using this typedef:
> 
> typedef void(*handover_func)(void *, grub_efi_system_table_t *, struct linux_kernel_params *);
> 
> " and grub_cmd_linux (i.e. "linuxefi") does:
> 
>    if (!lh.handover_offset) { blah } ... handover_offset = lh.handover_offset
> 
>  and then allocates the linux_kernel_params using EFI's AllocatePool() as EFI_LOADER_DATA, and then just:
> 
>    hf = (handover_func)((char *)kernel_mem + handover_offset + offset);
>    asm volatile ("cli");
>    hf (grub_efi_image_handle, grub_efi_system_table, params);
> " (from conversation with Peter Jones).
> 
> Looking at the Fedora GRUB2 source, the 'struct linux_kernel_header' is defined
> in the linux/Documentation/x86/boot.txt and hpa is pretty strict
> about making it backwards compatible. It also seems to support Xen!
> 
> (Interestingly enough we do have this structure in the code: see
> setup_header in arch/x86/bzimage.c)
> 
> GRUB expects the image to have the 0xAA55 at a specific offset (0x01FE)
> otherwise it will stop the load.
> 
> Then there is also the need to have at 0x202 the 'HdrS' string and
> and version id at (0x206). There is also at offset 0x264 the handover_offset
> which is what gets called (this I presume is the same as with PE/COFF
> images and it is expected that a native PE/COFF image would have the
> same location). Interestingly enough the Linux payload has both headers
> built-in - this boot one and also the Microsoft PE/COFF header. Meaning
> it can be launched as a normal PE/COFF binary or a boot loader can
> parse it and find the Linux x86 boot protocol. Pretty nifty.
> 
> Anyhow, the handover function is called with three parameters. The
> third one is the extra 'struct linux_kernel_params' :

And looking at bit deeper in the x86/linux boot spec:

**** EFI HANDOVER PROTOCOL                                                      
                                                                                
This protocol allows boot loaders to defer initialisation to the EFI            
boot stub. The boot loader is required to load the kernel/initrd(s)             
from the boot media and jump to the EFI handover protocol entry point           
which is hdr->handover_offset bytes from the beginning of                       
startup_{32,64}.                                                                
                                                                                
The function prototype for the handover entry point looks like this,            
                                                                                
    efi_main(void *handle, efi_system_table_t *table, struct boot_params *bp)   
                                                                                
'handle' is the EFI image handle passed to the boot loader by the EFI           
firmware, 'table' is the EFI system table - these are the first two             
arguments of the "handoff state" as described in section 2.3 of the             
UEFI specification. 'bp' is the boot loader-allocated boot params.              
                                                                                
The boot loader *must* fill out the following fields in bp,                     
                                                                                
    o hdr.code32_start                                                          
    o hdr.cmd_line_ptr                                                          
    o hdr.cmdline_size                                                          
    o hdr.ramdisk_image (if applicable)                                         
    o hdr.ramdisk_size  (if applicable)                                         
                                                                                
All other fields should be zero.                           



So not much in the third parameter.

And digging in the code (arch/x86/boot/compressed/head_64.S)
the handover_offset ends up pointing to efi_stub_entry which
calls this:

struct boot_params *efi_main(void *handle, efi_system_table_t *_table,          
                             struct boot_params *boot_params) 

If it Linux code is called as a normal PE/COFF image, then it ends
up calling efi_pe_entry, which generates a 'boot_params' structure
(see make_boot_params) based on the EFI.



WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ian Campbell <ian.campbell@citrix.com>,
	ross.philipson@citrix.com, stefano.stabellini@eu.citrix.com,
	grub-devel@gnu.org, david.woodhouse@intel.com,
	richard.l.maliszewski@intel.com, xen-devel@lists.xen.org,
	boris.ostrovsky@oracle.com,
	Daniel Kiper <daniel.kiper@oracle.com>,
	Peter Jones <pjones@redhat.com>,
	linux-kernel@vger.kernel.org, keir@xen.org
Subject: Re: EFI and multiboot2 devlopment work for Xen
Date: Tue, 22 Oct 2013 10:43:09 -0400	[thread overview]
Message-ID: <20131022144309.GA18547@phenom.dumpdata.com> (raw)
In-Reply-To: <20131022134252.GA27302@phenom.dumpdata.com>

On Tue, Oct 22, 2013 at 09:42:52AM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, Oct 22, 2013 at 10:59:33AM +0100, Jan Beulich wrote:
> > >>> On 22.10.13 at 11:45, Ian Campbell <ian.campbell@citrix.com> wrote:
> > > On Tue, 2013-10-22 at 10:31 +0100, Jan Beulich wrote:
> > >> >>> On 22.10.13 at 11:26, Ian Campbell <ian.campbell@citrix.com> wrote:
> > >> > AIUI "efilinux" is somewhat badly named and does not use the Linux Boot
> > >> > Protocol (i.e. the (b)zImage stuff with real mode entry point) either.
> > >> > It actually loads and executes the kernel binary as a PE/COFF executable
> > >> > (the native UEFI binary executable format). xen.efi is a PE/COFF binary
> > >> > too and could equally well be launched by linuxefi in this way.
> > >> 
> > >> Except that unless I'm mistaken "linuxefi" still expects to find certain
> > >> Linux-specific internal data structures inside the PE image, which I
> > >> don't see us wanting to be emulating. That's the main difference to
> > >> "chainloader" afaict.
> > > 
> > > Ah, I'd been led to believe it was just the lack of a call to
> > > ExitBootServices, but I didn't check. What you say sounds completely
> > > plausible.
> > > 
> > > Do you know what sort of Linux specific data structures are we talking
> > > about?
> > 
> > The setup header I would assume (i.e. the bits surrounding the
> > "HdrS" signature). But I'm only guessing anyway.
> 
> This is a bit lengthy email, so please get your coffee/tea ready.
> 
> Peter Jones was kind enough to educate me on IRC what it does. The
> GRUB2 module calls the PE/COFF executable (so using the Microsoft ABI
> for passing parameters) using this typedef:
> 
> typedef void(*handover_func)(void *, grub_efi_system_table_t *, struct linux_kernel_params *);
> 
> " and grub_cmd_linux (i.e. "linuxefi") does:
> 
>    if (!lh.handover_offset) { blah } ... handover_offset = lh.handover_offset
> 
>  and then allocates the linux_kernel_params using EFI's AllocatePool() as EFI_LOADER_DATA, and then just:
> 
>    hf = (handover_func)((char *)kernel_mem + handover_offset + offset);
>    asm volatile ("cli");
>    hf (grub_efi_image_handle, grub_efi_system_table, params);
> " (from conversation with Peter Jones).
> 
> Looking at the Fedora GRUB2 source, the 'struct linux_kernel_header' is defined
> in the linux/Documentation/x86/boot.txt and hpa is pretty strict
> about making it backwards compatible. It also seems to support Xen!
> 
> (Interestingly enough we do have this structure in the code: see
> setup_header in arch/x86/bzimage.c)
> 
> GRUB expects the image to have the 0xAA55 at a specific offset (0x01FE)
> otherwise it will stop the load.
> 
> Then there is also the need to have at 0x202 the 'HdrS' string and
> and version id at (0x206). There is also at offset 0x264 the handover_offset
> which is what gets called (this I presume is the same as with PE/COFF
> images and it is expected that a native PE/COFF image would have the
> same location). Interestingly enough the Linux payload has both headers
> built-in - this boot one and also the Microsoft PE/COFF header. Meaning
> it can be launched as a normal PE/COFF binary or a boot loader can
> parse it and find the Linux x86 boot protocol. Pretty nifty.
> 
> Anyhow, the handover function is called with three parameters. The
> third one is the extra 'struct linux_kernel_params' :

And looking at bit deeper in the x86/linux boot spec:

**** EFI HANDOVER PROTOCOL                                                      
                                                                                
This protocol allows boot loaders to defer initialisation to the EFI            
boot stub. The boot loader is required to load the kernel/initrd(s)             
from the boot media and jump to the EFI handover protocol entry point           
which is hdr->handover_offset bytes from the beginning of                       
startup_{32,64}.                                                                
                                                                                
The function prototype for the handover entry point looks like this,            
                                                                                
    efi_main(void *handle, efi_system_table_t *table, struct boot_params *bp)   
                                                                                
'handle' is the EFI image handle passed to the boot loader by the EFI           
firmware, 'table' is the EFI system table - these are the first two             
arguments of the "handoff state" as described in section 2.3 of the             
UEFI specification. 'bp' is the boot loader-allocated boot params.              
                                                                                
The boot loader *must* fill out the following fields in bp,                     
                                                                                
    o hdr.code32_start                                                          
    o hdr.cmd_line_ptr                                                          
    o hdr.cmdline_size                                                          
    o hdr.ramdisk_image (if applicable)                                         
    o hdr.ramdisk_size  (if applicable)                                         
                                                                                
All other fields should be zero.                           



So not much in the third parameter.

And digging in the code (arch/x86/boot/compressed/head_64.S)
the handover_offset ends up pointing to efi_stub_entry which
calls this:

struct boot_params *efi_main(void *handle, efi_system_table_t *_table,          
                             struct boot_params *boot_params) 

If it Linux code is called as a normal PE/COFF image, then it ends
up calling efi_pe_entry, which generates a 'boot_params' structure
(see make_boot_params) based on the EFI.


  parent reply	other threads:[~2013-10-22 14:43 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-21 12:57 EFI and multiboot2 devlopment work for Xen Daniel Kiper
2013-10-21 13:36 ` Jan Beulich
2013-10-21 13:36 ` Jan Beulich
2013-10-21 13:36   ` Jan Beulich
2013-10-21 14:23   ` Konrad Rzeszutek Wilk
2013-10-21 14:23   ` Konrad Rzeszutek Wilk
2013-10-21 14:23     ` Konrad Rzeszutek Wilk
2013-10-21 14:37     ` Jan Beulich
2013-10-21 14:37       ` Jan Beulich
2013-10-21 18:46       ` Daniel Kiper
2013-10-21 18:46       ` Daniel Kiper
2013-10-21 18:46         ` Daniel Kiper
2013-10-22  7:16         ` Jan Beulich
2013-10-22  7:16         ` Jan Beulich
2013-10-22  7:16           ` Jan Beulich
2013-10-21 14:37     ` Jan Beulich
2013-10-21 18:39   ` Daniel Kiper
2013-10-21 18:39   ` Daniel Kiper
2013-10-21 18:39     ` Daniel Kiper
2013-10-22  7:15     ` Jan Beulich
2013-10-22  7:15       ` Jan Beulich
2013-10-22  7:15     ` Jan Beulich
2013-10-21 13:54 ` Peter Jones
2013-10-21 13:54   ` Peter Jones
2013-10-21 18:57   ` Daniel Kiper
2013-10-21 18:57     ` Daniel Kiper
2013-10-22  9:26     ` Ian Campbell
2013-10-22  9:26       ` Ian Campbell
2013-10-22  9:31       ` Jan Beulich
2013-10-22  9:31         ` Jan Beulich
2013-10-22  9:45         ` Ian Campbell
2013-10-22  9:45           ` Ian Campbell
2013-10-22  9:59           ` Jan Beulich
2013-10-22  9:59           ` Jan Beulich
2013-10-22  9:59             ` Jan Beulich
2013-10-22 13:42             ` Konrad Rzeszutek Wilk
2013-10-22 13:42             ` Konrad Rzeszutek Wilk
2013-10-22 13:42               ` Konrad Rzeszutek Wilk
2013-10-22 13:53               ` Ian Campbell
2013-10-22 13:53                 ` Ian Campbell
2013-10-22 14:09                 ` Konrad Rzeszutek Wilk
2013-10-22 14:09                   ` Konrad Rzeszutek Wilk
2013-10-22 14:24                   ` Ian Campbell
2013-10-22 14:24                   ` Ian Campbell
2013-10-22 14:24                     ` Ian Campbell
2013-10-22 14:51                     ` Konrad Rzeszutek Wilk
2013-10-22 14:51                       ` Konrad Rzeszutek Wilk
2013-10-22 14:59                       ` Jan Beulich
2013-10-22 14:59                       ` Jan Beulich
2013-10-22 14:59                         ` Jan Beulich
2013-10-22 15:35                       ` Peter Jones
2013-10-22 15:35                         ` Peter Jones
2013-10-22 15:35                       ` Peter Jones
2013-10-22 15:39                       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 15:39                       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 15:39                         ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:31                         ` Konrad Rzeszutek Wilk
2013-10-22 16:31                         ` Konrad Rzeszutek Wilk
2013-10-22 16:31                           ` Konrad Rzeszutek Wilk
2013-10-22 14:51                     ` Konrad Rzeszutek Wilk
2013-10-22 15:22                     ` Ian Campbell
2013-10-22 15:22                     ` [Xen-devel] " Ian Campbell
2013-10-22 15:22                       ` Ian Campbell
2013-10-22 16:26                       ` Konrad Rzeszutek Wilk
2013-10-22 16:26                       ` [Xen-devel] " Konrad Rzeszutek Wilk
2013-10-22 16:26                         ` Konrad Rzeszutek Wilk
2013-10-23  8:32                         ` Ian Campbell
2013-10-23  8:32                           ` Ian Campbell
2013-10-23 13:13                           ` Konrad Rzeszutek Wilk
2013-10-23 13:13                             ` Konrad Rzeszutek Wilk
2013-10-23 14:07                             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 14:07                             ` [Xen-devel] " Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 14:07                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 17:13                               ` Andrey Borzenkov
2013-10-23 17:13                               ` [Xen-devel] " Andrey Borzenkov
2013-10-23 17:13                                 ` Andrey Borzenkov
2013-10-23 16:17                             ` Jan Beulich
2013-10-23 16:17                             ` [Xen-devel] " Jan Beulich
2013-10-23 16:17                               ` Jan Beulich
2013-10-23 13:13                           ` Konrad Rzeszutek Wilk
2013-10-23 16:14                           ` Jan Beulich
2013-10-23 16:14                           ` [Xen-devel] " Jan Beulich
2013-10-23 16:14                             ` Jan Beulich
2013-10-23 17:01                             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 17:01                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-24  6:53                               ` Jan Beulich
2013-10-24  6:53                                 ` Jan Beulich
2013-10-24  6:53                               ` Jan Beulich
2013-10-23 17:01                             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23  8:32                         ` Ian Campbell
2013-10-22 14:09                 ` Konrad Rzeszutek Wilk
2013-10-22 14:10                 ` Jan Beulich
2013-10-22 14:10                   ` Jan Beulich
2013-10-22 14:10                 ` Jan Beulich
2013-10-22 14:18                 ` Woodhouse, David
2013-10-22 14:18                 ` Woodhouse, David
2013-10-22 14:18                   ` Woodhouse, David
2013-10-22 14:57                   ` Konrad Rzeszutek Wilk
2013-10-22 14:57                     ` Konrad Rzeszutek Wilk
2013-10-22 15:21                     ` Ian Campbell
2013-10-22 15:21                       ` Ian Campbell
2013-10-22 16:24                       ` Konrad Rzeszutek Wilk
2013-10-22 16:24                       ` Konrad Rzeszutek Wilk
2013-10-22 16:24                         ` Konrad Rzeszutek Wilk
2013-10-22 16:27                         ` Ian Campbell
2013-10-22 16:27                           ` Ian Campbell
2013-10-22 16:27                         ` Ian Campbell
2013-10-22 15:21                     ` Ian Campbell
2013-10-22 14:57                   ` Konrad Rzeszutek Wilk
2013-10-22 15:23                   ` Ian Campbell
2013-10-22 15:23                     ` Ian Campbell
2013-10-22 15:23                   ` Ian Campbell
2013-10-22 13:53               ` Ian Campbell
2013-10-22 14:43               ` Konrad Rzeszutek Wilk
2013-10-22 14:43               ` Konrad Rzeszutek Wilk [this message]
2013-10-22 14:43                 ` Konrad Rzeszutek Wilk
2013-10-22 15:25                 ` Woodhouse, David
2013-10-22 15:25                 ` Woodhouse, David
2013-10-22 15:25                   ` Woodhouse, David
2013-10-22 15:32                   ` Matthew Garrett
2013-10-22 15:32                     ` Matthew Garrett
2013-10-22 15:42                     ` Woodhouse, David
2013-10-22 15:42                       ` Woodhouse, David
2013-10-22 16:01                       ` Daniel Kiper
2013-10-22 16:01                       ` Daniel Kiper
2013-10-22 16:01                         ` Daniel Kiper
2013-10-22 16:08                         ` Ian Campbell
2013-10-22 16:08                         ` Ian Campbell
2013-10-22 16:08                           ` Ian Campbell
2013-10-22 16:14                           ` Daniel Kiper
2013-10-22 16:14                           ` Daniel Kiper
2013-10-22 16:14                             ` Daniel Kiper
2013-10-22 16:25                             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:25                             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:25                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:31                               ` Ian Campbell
2013-10-22 16:31                                 ` Ian Campbell
2013-10-22 16:31                               ` Ian Campbell
2013-10-22 16:38                             ` Konrad Rzeszutek Wilk
2013-10-22 16:38                               ` Konrad Rzeszutek Wilk
2013-10-22 16:38                             ` Konrad Rzeszutek Wilk
2013-10-22 16:24                         ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:24                           ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 16:36                           ` Maliszewski, Richard L
2013-10-22 16:51                             ` Daniel Kiper
2013-10-22 16:51                               ` Daniel Kiper
2013-10-22 17:09                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:09                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:09                                 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:21                               ` Maliszewski, Richard L
2013-10-22 17:21                               ` Maliszewski, Richard L
2013-10-22 17:21                                 ` Maliszewski, Richard L
2013-10-23  7:53                                 ` Daniel Kiper
2013-10-23  7:53                                   ` Daniel Kiper
2013-10-23  7:53                                 ` Daniel Kiper
2013-10-22 16:51                             ` Daniel Kiper
2013-10-22 16:36                           ` Maliszewski, Richard L
2013-10-22 16:24                         ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 15:42                     ` Woodhouse, David
2013-10-22 15:32                   ` Matthew Garrett
2013-10-22 16:35                   ` Konrad Rzeszutek Wilk
2013-10-22 16:35                     ` Konrad Rzeszutek Wilk
2013-10-23  6:49                     ` Michael Chang
2013-10-23  6:49                     ` Michael Chang
2013-10-23  6:49                       ` Michael Chang
2013-10-23  6:51                       ` Michael Chang
2013-10-23  6:51                       ` Michael Chang
2013-10-23  6:51                         ` Michael Chang
2013-10-22 16:35                   ` Konrad Rzeszutek Wilk
2013-10-23  6:56               ` Daniel Kiper
2013-10-23  6:56               ` Daniel Kiper
2013-10-23  6:56                 ` Daniel Kiper
2013-10-22  9:45         ` Ian Campbell
2013-10-22  9:31       ` Jan Beulich
2013-10-22  9:26     ` Ian Campbell
2013-10-21 18:57   ` Daniel Kiper
2013-10-21 13:54 ` Peter Jones
2013-10-21 20:53 ` Seth Goldberg
2013-10-21 20:53 ` Seth Goldberg
2013-10-21 20:53   ` Seth Goldberg
2013-10-21 21:27   ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-21 21:27   ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-21 21:27     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-21 21:27     ` Seth Goldberg
2013-10-21 21:27       ` Seth Goldberg
2013-10-21 21:27     ` Seth Goldberg
2013-10-21 21:16 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-21 21:16   ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22  8:54   ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22  8:54     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23  7:05     ` Daniel Kiper
2013-10-23  7:05       ` Daniel Kiper
2013-10-23  8:28       ` Seth Goldberg
2013-10-23  8:28       ` Seth Goldberg
2013-10-23  8:28         ` Seth Goldberg
2013-10-23 10:43       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 10:43       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23 10:43         ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23  7:05     ` Daniel Kiper
2013-10-28 16:26     ` Konrad Rzeszutek Wilk
2013-10-28 16:26       ` Konrad Rzeszutek Wilk
2013-10-28 18:01       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-28 18:01         ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-29  8:28         ` Jan Beulich
2013-10-29  8:28           ` Jan Beulich
2013-10-30 11:19           ` Is: Wrap-up Was: " Daniel Kiper
2013-10-30 11:19             ` Daniel Kiper
2013-10-30 11:38             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-30 11:38               ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-30 11:38             ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-11-04 20:41             ` Stefano Stabellini
2013-11-04 20:41             ` Stefano Stabellini
2013-11-04 20:41               ` Stefano Stabellini
2013-11-05 19:15               ` Leif Lindholm
2013-11-05 19:15                 ` Leif Lindholm
2013-11-05 19:15               ` Leif Lindholm
2013-10-30 11:19           ` Daniel Kiper
2013-10-29  8:28         ` Jan Beulich
2013-10-28 18:01       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-28 18:42       ` Seth Goldberg
2013-10-28 18:42       ` Seth Goldberg
2013-10-28 18:42         ` Seth Goldberg
2013-10-28 16:26     ` Konrad Rzeszutek Wilk
2013-10-22  8:54   ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:12   ` Andrey Borzenkov
2013-10-22 17:12     ` Andrey Borzenkov
2013-10-22 17:20     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:20     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:20       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-22 17:12   ` Andrey Borzenkov
2013-10-23  7:43   ` Daniel Kiper
2013-10-23  7:43   ` Daniel Kiper
2013-10-23  7:43     ` Daniel Kiper
2013-10-23  8:44     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23  8:44     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-23  8:44       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-10-21 21:16 ` Vladimir 'φ-coder/phcoder' Serbinenko
  -- strict thread matches above, loose matches on Subject: below --
2013-10-21 12:57 Daniel Kiper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131022144309.GA18547@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=daniel.kiper@oracle.com \
    --cc=david.woodhouse@intel.com \
    --cc=grub-devel@gnu.org \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard.l.maliszewski@intel.com \
    --cc=ross.philipson@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.