From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1gKMgv-00040t-S8 for mharc-grub-devel@gnu.org; Wed, 07 Nov 2018 07:12:13 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gKMgr-00040d-8w for grub-devel@gnu.org; Wed, 07 Nov 2018 07:12:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gKMga-0002sp-Gc for grub-devel@gnu.org; Wed, 07 Nov 2018 07:12:01 -0500 Received: from aserp2120.oracle.com ([141.146.126.78]:42652) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gKMgU-0002bj-Cv for grub-devel@gnu.org; Wed, 07 Nov 2018 07:11:46 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id wA7C4Lta186743; Wed, 7 Nov 2018 12:10:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=corp-2018-07-02; bh=xqyvsqUXYnZBZPBM5M+r+AolIAE1xO+WrtfchcMuqIU=; b=ktae5ilTKNU0MGZpj0SBTh+n98uTCqDPMcjFwWEbeQV+EppicGJ+kCUBNYbajtKXuC/o 70nYbYz2JydafuOPcklaRu6PODOhWUWeseCcdKS+H9YfkLaBBsTQbaPQPFf6FZwdIwUY rHjsHW3izN8LCFbFrJwIC1XkgEpfpwMOrSc/TA/98IjG8yc2mftS5/GPoqoMOfAEDizC +nI+3/5TfXxrWLUP6iiCeoPpO2NIGJpp5azpEyokMZfG/EdKdeLcZj6a9rduBO0s/Zk3 ugjTUvFMCOq1QTSGrMig60VDz4veCPHjSU7LR0ivoh7CpRWTGoTtws2TRR5gnj9UM/Fn tg== Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2120.oracle.com with ESMTP id 2nh3mpu334-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Nov 2018 12:10:57 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id wA7CAuR7009321 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 7 Nov 2018 12:10:56 GMT Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id wA7CAtif006707; Wed, 7 Nov 2018 12:10:55 GMT Received: from olila.i.net-space.pl (/10.175.206.179) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 07 Nov 2018 04:10:54 -0800 Date: Wed, 7 Nov 2018 13:10:50 +0100 From: Daniel Kiper To: Juergen Gross Cc: grub-devel@gnu.org, xen-devel@lists.xen.org, phcoder@gmail.com, hans@knorrie.org Subject: Re: [PATCH v4 04/19] xen: prepare common code for Xen PVH support Message-ID: <20181107121050.GF4358@olila.i.net-space.pl> References: <20181102123738.16395-1-jgross@suse.com> <20181102123738.16395-5-jgross@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181102123738.16395-5-jgross@suse.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9069 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=965 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1811070112 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 141.146.126.78 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2018 12:12:13 -0000 On Fri, Nov 02, 2018 at 01:37:23PM +0100, Juergen Gross wrote: > Some common code needs to be special cased for Xen PVH mode. This hits > mostly Xen PV mode specific areas. > > Split include/grub/i386/pc/int_types.h off from > include/grub/i386/pc/int.h to support including this file later from > xen_pvh code without the grub_bios_interrupt definition. > > Move definition of struct grub_e820_mmap_entry from > grub-core/mmap/i386/pc/mmap.c to include/grub/i386/memory.h in order > to make it usable from xen_pvh code. > > Signed-off-by: Juergen Gross If you fix two nitpicks below you can add Reviewed-by: Daniel Kiper > --- > V3: GRUB_MACHINE_XENPVH -> GRUB_MACHINE_XEN_PVH (Daniel Kiper) > split include/grub/i386/pc/int.h (Daniel Kiper) > move struct grub_e820_mmap_entry definition to header file > --- > grub-core/kern/i386/tsc.c | 2 +- > grub-core/mmap/i386/pc/mmap.c | 7 ----- > include/grub/i386/memory.h | 7 +++++ > include/grub/i386/pc/int.h | 36 +----------------------- > include/grub/i386/pc/int_types.h | 59 +++++++++++++++++++++++++++++++++++++++ > include/grub/i386/tsc.h | 2 +- > include/grub/i386/xen/hypercall.h | 5 +++- > include/grub/kernel.h | 4 ++- > 8 files changed, 76 insertions(+), 46 deletions(-) > create mode 100644 include/grub/i386/pc/int_types.h > > diff --git a/grub-core/kern/i386/tsc.c b/grub-core/kern/i386/tsc.c > index f266eb131..9293b161d 100644 > --- a/grub-core/kern/i386/tsc.c > +++ b/grub-core/kern/i386/tsc.c > @@ -65,7 +65,7 @@ grub_tsc_init (void) > > tsc_boot_time = grub_get_tsc (); > > -#ifdef GRUB_MACHINE_XEN > +#if defined (GRUB_MACHINE_XEN) || defined (GRUB_MACHINE_XEN_PVH) > (void) (grub_tsc_calibrate_from_xen () || calibrate_tsc_hardcode()); > #elif defined (GRUB_MACHINE_EFI) > (void) (grub_tsc_calibrate_from_pmtimer () || grub_tsc_calibrate_from_pit () || grub_tsc_calibrate_from_efi() || calibrate_tsc_hardcode()); > diff --git a/grub-core/mmap/i386/pc/mmap.c b/grub-core/mmap/i386/pc/mmap.c > index 609994516..bcb097c38 100644 > --- a/grub-core/mmap/i386/pc/mmap.c > +++ b/grub-core/mmap/i386/pc/mmap.c > @@ -42,13 +42,6 @@ extern grub_uint16_t grub_machine_mmaphook_kblow; > extern grub_uint16_t grub_machine_mmaphook_kbin16mb; > extern grub_uint16_t grub_machine_mmaphook_64kbin4gb; > > -struct grub_e820_mmap_entry > -{ > - grub_uint64_t addr; > - grub_uint64_t len; > - grub_uint32_t type; > -} GRUB_PACKED; > - > Please drop this extra empty line too. [...] > diff --git a/include/grub/i386/pc/int_types.h b/include/grub/i386/pc/int_types.h > new file mode 100644 > index 000000000..35a4b5087 > --- /dev/null > +++ b/include/grub/i386/pc/int_types.h > @@ -0,0 +1,59 @@ > +/* > + * GRUB -- GRand Unified Bootloader > + * Copyright (C) 2018 Free Software Foundation, Inc. > + * > + * GRUB is free software: you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation, either version 3 of the License, or > + * (at your option) any later version. > + * > + * GRUB is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with GRUB. If not, see . > + */ > + > +#ifndef GRUB_INTERRUPT_TYPES_MACHINE_HEADER > +#define GRUB_INTERRUPT_TYPES_MACHINE_HEADER 1 > + > +#include > + > +struct grub_bios_int_registers > +{ > + grub_uint32_t eax; > + grub_uint16_t es; > + grub_uint16_t ds; > + grub_uint16_t flags; > + grub_uint16_t dummy; > + grub_uint32_t ebx; > + grub_uint32_t ecx; > + grub_uint32_t edi; > + grub_uint32_t esi; > + grub_uint32_t edx; > +}; Please move this struct behind constants definitions below. > +#define GRUB_CPU_INT_FLAGS_CARRY 0x1 > +#define GRUB_CPU_INT_FLAGS_PARITY 0x4 > +#define GRUB_CPU_INT_FLAGS_ADJUST 0x10 > +#define GRUB_CPU_INT_FLAGS_ZERO 0x40 > +#define GRUB_CPU_INT_FLAGS_SIGN 0x80 > +#define GRUB_CPU_INT_FLAGS_TRAP 0x100 > +#define GRUB_CPU_INT_FLAGS_INTERRUPT 0x200 > +#define GRUB_CPU_INT_FLAGS_DIRECTION 0x400 > +#define GRUB_CPU_INT_FLAGS_OVERFLOW 0x800 > +#ifdef GRUB_MACHINE_PCBIOS > +#define GRUB_CPU_INT_FLAGS_DEFAULT GRUB_CPU_INT_FLAGS_INTERRUPT > +#else > +#define GRUB_CPU_INT_FLAGS_DEFAULT 0 > +#endif > + > +struct grub_i386_idt > +{ > + grub_uint16_t limit; > + grub_uint32_t base; > +} GRUB_PACKED; > + > +#endif Daniel