From nobody Thu May 16 00:10:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=2; a=rsa-sha256; t=1645642373; cv=pass; d=zohomail.com; s=zohoarc; b=hl/5DouYgEKoTqdrNaO/lGRv+TsJ/p0tEiSCe4+WbjrTtoLtsMsvh6l9TSDiNM/wQt2RbjZI89xHatwQMm6p+VHbb8GwknK+slE2S25AKkJzSQKYI1zjQ0zzggX4kY79Xdf9sO7Z8NqTjSaUibcJuF2wxHy9phkkku/p6EoAO2k= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645642373; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/cv+mlKRwrBt/v/yhiKQ10XmHz55Xm78oJVd6dYhBxk=; b=ifXJ4OPdNUIX4G3i3nAhQFmkl270EPoNPhWfg6LulFwtHq3zEIiP5uRwbOw8SM4qh2rBhI9VZ9c2uscAUfVlLTDEmtQtppCJWGElAV/pHIYZS2VWe39kVjkeOt69Q798y3QTmO6X66S8afXfrLT/s6CWSvgjtvwu7/4k4+DNhPw= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1645642373307215.9702953238193; Wed, 23 Feb 2022 10:52:53 -0800 (PST) Received: from localhost ([::1]:34808 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMwkt-0005aX-P2 for importer@patchew.org; Wed, 23 Feb 2022 13:52:51 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwe1-0002st-Cp for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:47 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:56328) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwdz-0008Da-IQ for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:45 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21NIDrx8001875; Wed, 23 Feb 2022 18:45:33 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3ecv6ew15f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:33 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21NIZd1q054015; Wed, 23 Feb 2022 18:45:32 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by userp3030.oracle.com with ESMTP id 3eannw9m2j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:32 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MN2PR10MB4144.namprd10.prod.outlook.com (2603:10b6:208:1d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 18:45:30 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406%6]) with mapi id 15.20.5017.024; Wed, 23 Feb 2022 18:45:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2021-07-09; bh=/cv+mlKRwrBt/v/yhiKQ10XmHz55Xm78oJVd6dYhBxk=; b=vYNwFEndTMe0SKQ6+jK1lUZ0pzxxTYiMlEa9JYEdIaCvN096EZnIexJSQPgB8J6uMtPA tYcaO3uCmbituzSeXtkRotPhYjfmQxSuYYEAisvfZ2NJHDdqQiWoBgwvQoV7jl2x3utk K0+EgMkF7QItif1CxQzKgZFcuNM+l48dvoaieRqq0Gk33KDMcZRD6lVbIRorSJuUBMp3 Ai3gu984ioFVQOxf7xxwxkNjmn0NhrB7S4Z21T1FBYhZ6lBd9gbnMIUPwYOZ6zYjnwYr wlml1zTP55EXX9F7ExMcC/bSvQOa0u1Hdf22KVn1/ux6uhe4pqBTZCngyBr/3F9d4wOE DA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N8ruNFQ1IhFvh2X3kPh9kE8nJlmQVcSTUB4nRLJV8gNSl0bNZW9cdUFcMTL0ROnyY1iLGJHOKdoAcQTzkE15Er+48BHYgFy5VO8PMmGmUcdzGPZU7488z3KQYOLTZDIlv6EyB/BILIZC8SLea6jqglgYSgmTUyNZZTMlLcL9OdVIu0dYNuIXMQ+lrgoE2fmJCZbU6NzWhXxIaRyjl+YzDGy35M8V1QCN5J9yT/MMkGH/cMh+xDBp7huZn0O1ZWzx/AYIALIG6qFIMceWjyqscU7D7UEAXdJlEF0le68EBfLU6lZyakmkTq8B7paCAy4rCiY50J7Qu8NszfnBfjSMOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/cv+mlKRwrBt/v/yhiKQ10XmHz55Xm78oJVd6dYhBxk=; b=g4uBQ/gY6feuTn4KwkPkA/en7rbHVWl3yzjFyGS1jZmA8r1LYPQ1d5vTSr1bDzUQuphcWn8LeU/1wZRzxBEfNrj5gaIBSaujNvUd+vFnFU6/c9jP5Ktng37hy87csIE9W4ppP3kIhzQvn5oFBJ4E17I4LasC4u3FqQmfY0us05BH4JPXfEw/lIgSm5/10q4TZ+xRgldWXQjDBnqYPdbS3QBNYz8XWikQSGsH0EkBi1O8uIj5N0wlu4yLQmeky+twJdsS+yp9sJ1WHsnPyKxO4GLzMcSWgMGnVyd5d54T8TYzlS+FbzENIos4kTOkoZGV+zEzJG1MGswZljLVhN2RBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/cv+mlKRwrBt/v/yhiKQ10XmHz55Xm78oJVd6dYhBxk=; b=bu8oik7v3R43W+rxr8gX2KXjWAOhrnrj4aLfCxc8UZ7XcQ0Jnk/O8q2GaOVMvRSHMASGcES7t4rkAdzKdbwZ87acRzDF1hLzVxb6+tD06dG7k7x7a8VEKxA9hB0iYcKR04hnJk7aDygaM/+8KW0CTxH9vTbhe4lhJRjDJJGcuMM= From: Joao Martins To: qemu-devel@nongnu.org Subject: [PATCH v3 1/6] hw/i386: add 4g boundary start to X86MachineState Date: Wed, 23 Feb 2022 18:44:50 +0000 Message-Id: <20220223184455.9057-2-joao.m.martins@oracle.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220223184455.9057-1-joao.m.martins@oracle.com> References: <20220223184455.9057-1-joao.m.martins@oracle.com> X-ClientProxiedBy: LO4P123CA0332.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18c::13) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3602ad08-416c-4923-341f-08d9f6fcaa77 X-MS-TrafficTypeDiagnostic: MN2PR10MB4144:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lvPG+9WbsGkd5BAhhOOgoP7x9xtURfHtwsB4+Ic8U3ytoy+sL5XUa4fRpy8LgsFyB7S9mRG6LOq/WQ1/wOr+pP+pm7gi9tC0uPDfgS/EhrRG9bBjp/0Dv3J1A26M2KZKJmn7ESnJ6cJa2Hhm8BgT/Mrs0vqj/+zKAgc9eWy4RRF2ALd70aXP2nLtk/QNJKV0QNN2D0n8B+g3hMoY6i5/UzUKnj1iYsEPATbxtDjW6pBb30NIAThZwGI2QhoTDg7CryU9cJjUom0qrJFxWe/tNqU1573RLyElkORZHEQFPvYX/s1w75P9MbxNKPnkfgW78X8BLemuQOBi9ba94bqVwuzTfMvyjUDPoEOj8FXuQsgGIDEObohuTiN0Bj72921/m/FmW61S8rIzVMxvQqQIHxqsau09FzCPLQjDWy2KkrvXoeKduBoCKHCvkvDMEL8axKzqbeM9uO/wCw0eYzh077FCQCX+aoiJJ3bPyIkLfO8p1VBqyqnPRO6LAFeZXo3QPwk+QDOTqsOYrTX26i6Q4Agf7KwANoNJLK2lJodh7dj+mlpUwoAdfv+9SqB2CmnscX6vMBWpk6i2011DU74EU/Ff3zbeuBkl2LTmr8ZhxaMPuS66FG5qYTIkZcAsATShRnZnu0vxqd8xhRQL6J2xreCL4PqiLRujOIh/Jl/sBerFr9nTrGsppqikCw+9i/4n+u4iX24DaUExfzUfDtD/Bg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB4835.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(6506007)(6666004)(66476007)(66556008)(66946007)(83380400001)(4326008)(6486002)(103116003)(36756003)(316002)(2616005)(7416002)(86362001)(38100700002)(38350700002)(8676002)(8936002)(54906003)(6916009)(107886003)(1076003)(186003)(26005)(52116002)(508600001)(5660300002)(2906002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iyKRW9qHvbCtptup47ElDsWnyZR0QacNZoe4uPva4tTnojYwKnKXhz2bxg8/?= =?us-ascii?Q?PMuKTS68ncakGuLLaGJZ8gDSvsEg21oZxO1bC6kHEwnSJh+u5M6YntgWEZOq?= =?us-ascii?Q?Fyh6HpVSm9DZu8A/HNZ1y4RT9ep1bKnjZr4LuVyetagLisutZm+FLjH7lkjc?= =?us-ascii?Q?5ZSaoPUjdkA2kJ74Z2aBadxCb5KzxcJ33A6DECVcnhXsF6EqD1KAJd8hm8C5?= =?us-ascii?Q?iKhCOmH2VK3xjVgHLKNw/D9EhVp0L6E69w3jSyPI3n0JGg5tb6oMTWIccI5b?= =?us-ascii?Q?X3eYKHgp6A3MnSYt20PZloaBTW8GZt5FLankw9nRVspIRRq3HE0dhqLoymcM?= =?us-ascii?Q?jksohi4q6ZtkJIKQgaMKcQA10FFdy9y/Iqi6kYuxzVCjSbH5bKWYx8VoGJ4h?= =?us-ascii?Q?3dEd87nnGGFq0ABvLKTIDeaEKxS9jArcBYCnI9EIWehjpPbH2XFPfI/9izyS?= =?us-ascii?Q?hgzQHCtJlZ+fhkeiPhihO6snypXxObHKeMmki8tZ6AERwQPYeqils6GGwkpX?= =?us-ascii?Q?R47tXqtW/Ne6ZADC1Lolhr5X0in+6e9rfVu7FdIkDvt0o26PHgPgdqTYB9Le?= =?us-ascii?Q?56gmoB0edz313JkxuAOWXoG4CXQekRjCgg3NyU233qXxTVcV2cLKyxAywJR4?= =?us-ascii?Q?dDbrZhIabaxaolqfMTbWO60ZhHWlVwBdcJzpBnZq+WGPEbq3WFDKxQMhbtAZ?= =?us-ascii?Q?WSqreh2Xyb35Y3lritdL//31upG/OqQgaIM9G5ktWWU57z4G50EZk9QHxdcw?= =?us-ascii?Q?6U0tn22vvaw8v0Y51CPIpK6OCRPRxXBznbpjQYrQiwE4UBpPM1I5tnpy0x97?= =?us-ascii?Q?2jVRnUOFFe0FxMPijpYf4DyoFfWtivhscYGRopvXfb6WBQVnizXhg4r0xE0Q?= =?us-ascii?Q?bT6ooJVEQo2mrUGUmbRncqnRu6u114ldh2l7dKU45VgG6NyAN7ouIyZsiYum?= =?us-ascii?Q?qccZXD500t88eAMd6kpwQvYV61ixR1RyojurFjjMPZVKEWnYzLupTiKhRi3g?= =?us-ascii?Q?YxJe4AUPtPZAGqc/k1hHdm2CRr41MbHiySLqPxZ6u1OWLZQlDiUSB6wydloH?= =?us-ascii?Q?idxFNUpHtl9HkfzjsoLSsNWI80VZOCRg+YKTMFYaLkZ4UdCLDEWtjMSW+tGy?= =?us-ascii?Q?skYx4ZU0tm7t70CHXCZKSksW52zK+AGv3/cgad7PFLzpNiP7yF7lOXkGlKQ5?= =?us-ascii?Q?FDl4DlAgenlCUuXFgmOPGhTmQSHrE+TnURKw1KZVVmBTiBYD2U7t5DEQirW7?= =?us-ascii?Q?WtO2XlOnCojWbjypmkw0knAqJwr/7MWU/wPZDqtPb/7KBAce67FsOCHr868j?= =?us-ascii?Q?nVGMU5NLcikl/Va0/rh7astSVzwL81JuO5QwFh/coQZ1gy6PCytcjAEdO0SE?= =?us-ascii?Q?Ww+7vZIUKzXwv+6H/NyILuX5y6X2Hc/N3nYpy0DqlgqlxRdmRdFCa7AHay2+?= =?us-ascii?Q?E3kgqom1insmpiVuogVO8cxIAcOehFkwwik6DfnZ5cvOxWx0w4DY5dx6RQ7y?= =?us-ascii?Q?8mx7l5csCsZL/bGLuL/031srbEKYB1r0n8D3AI6R4DgyYztO2qxLpEF71urI?= =?us-ascii?Q?IrSMQchOCOh0tMoJ2dLJFoiNUf8obxtzBfe2ApBOnvsLWZeSXamkgRjqQZmm?= =?us-ascii?Q?KZEqAohwoF11n7hRJzTloPXmyHxtJXEmg7vgtulOQbgrnC5r9O4bICEgWDDN?= =?us-ascii?Q?kaNTeg=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3602ad08-416c-4923-341f-08d9f6fcaa77 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 18:45:30.3172 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ucJz6WMau8g7/GfUnSuOQw9ykSxHZY2i87tr90YttfffZrdCRgSzU5Gel7OM8Zn0/oyHKLaBqJ4hDtlWLwi/I+eR8yJ7ix7DLilLGfIbE6U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4144 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10267 signatures=681306 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 adultscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202230106 X-Proofpoint-GUID: 76tPvA4Q-yeFlzPPp3j4GqVwRMry63uG X-Proofpoint-ORIG-GUID: 76tPvA4Q-yeFlzPPp3j4GqVwRMry63uG Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.177.32; envelope-from=joao.m.martins@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S . Tsirkin" , Richard Henderson , Daniel Jordan , David Edmondson , Alex Williamson , Paolo Bonzini , Ani Sinha , Igor Mammedov , Joao Martins , Suravee Suthikulpanit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @oracle.onmicrosoft.com) X-ZM-MESSAGEID: 1645642374227100001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rather than hardcoding the 4G boundary everywhere, introduce a X86MachineState property @above_4g_mem_start and use it accordingly. This is in preparation for relocating ram-above-4g to be dynamically start at 1T on AMD platforms. Signed-off-by: Joao Martins --- hw/i386/acpi-build.c | 2 +- hw/i386/pc.c | 9 +++++---- hw/i386/sgx.c | 2 +- hw/i386/x86.c | 1 + include/hw/i386/x86.h | 3 +++ 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index ebd47aa26fd8..4bf54ccdab91 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2063,7 +2063,7 @@ build_srat(GArray *table_data, BIOSLinker *linker, Ma= chineState *machine) build_srat_memory(table_data, mem_base, mem_len, i - 1, MEM_AFFINITY_ENABLED); } - mem_base =3D 1ULL << 32; + mem_base =3D x86ms->above_4g_mem_start; mem_len =3D next_base - x86ms->below_4g_mem_size; next_base =3D mem_base + mem_len; } diff --git a/hw/i386/pc.c b/hw/i386/pc.c index c8696ac01e85..7de0e87f4a3f 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -837,9 +837,10 @@ void pc_memory_init(PCMachineState *pcms, machine->ram, x86ms->below_4g_mem_size, x86ms->above_4g_mem_size); - memory_region_add_subregion(system_memory, 0x100000000ULL, + memory_region_add_subregion(system_memory, x86ms->above_4g_mem_sta= rt, ram_above_4g); - e820_add_entry(0x100000000ULL, x86ms->above_4g_mem_size, E820_RAM); + e820_add_entry(x86ms->above_4g_mem_start, x86ms->above_4g_mem_size, + E820_RAM); } =20 if (pcms->sgx_epc.size !=3D 0) { @@ -880,7 +881,7 @@ void pc_memory_init(PCMachineState *pcms, machine->device_memory->base =3D sgx_epc_above_4g_end(&pcms->s= gx_epc); } else { machine->device_memory->base =3D - 0x100000000ULL + x86ms->above_4g_mem_size; + x86ms->above_4g_mem_start + x86ms->above_4g_mem_size; } =20 machine->device_memory->base =3D @@ -972,7 +973,7 @@ uint64_t pc_pci_hole64_start(void) } else if (pcms->sgx_epc.size !=3D 0) { hole64_start =3D sgx_epc_above_4g_end(&pcms->sgx_epc); } else { - hole64_start =3D 0x100000000ULL + x86ms->above_4g_mem_size; + hole64_start =3D x86ms->above_4g_mem_start + x86ms->above_4g_mem_s= ize; } =20 return ROUND_UP(hole64_start, 1 * GiB); diff --git a/hw/i386/sgx.c b/hw/i386/sgx.c index a2b318dd9387..164ee1ddb8de 100644 --- a/hw/i386/sgx.c +++ b/hw/i386/sgx.c @@ -295,7 +295,7 @@ void pc_machine_init_sgx_epc(PCMachineState *pcms) return; } =20 - sgx_epc->base =3D 0x100000000ULL + x86ms->above_4g_mem_size; + sgx_epc->base =3D x86ms->above_4g_mem_start + x86ms->above_4g_mem_size; =20 memory_region_init(&sgx_epc->mr, OBJECT(pcms), "sgx-epc", UINT64_MAX); memory_region_add_subregion(get_system_memory(), sgx_epc->base, diff --git a/hw/i386/x86.c b/hw/i386/x86.c index b84840a1bb99..912e96718ee8 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -1319,6 +1319,7 @@ static void x86_machine_initfn(Object *obj) x86ms->oem_id =3D g_strndup(ACPI_BUILD_APPNAME6, 6); x86ms->oem_table_id =3D g_strndup(ACPI_BUILD_APPNAME8, 8); x86ms->bus_lock_ratelimit =3D 0; + x86ms->above_4g_mem_start =3D 0x100000000ULL; } =20 static void x86_machine_class_init(ObjectClass *oc, void *data) diff --git a/include/hw/i386/x86.h b/include/hw/i386/x86.h index a145a303703f..ec6ead296064 100644 --- a/include/hw/i386/x86.h +++ b/include/hw/i386/x86.h @@ -58,6 +58,9 @@ struct X86MachineState { /* RAM information (sizes, addresses, configuration): */ ram_addr_t below_4g_mem_size, above_4g_mem_size; =20 + /* Start address of the initial RAM above 4G */ + ram_addr_t above_4g_mem_start; + /* CPU and apic information: */ bool apic_xrupt_override; unsigned pci_irq_mask; --=20 2.17.2 From nobody Thu May 16 00:10:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=2; a=rsa-sha256; t=1645642585; cv=pass; d=zohomail.com; s=zohoarc; b=ZaeJStWgSqJN5P3AjZlV3h01pJre06LqLjg+OQ+/SEKCLTaRw2irGJru58eFrP0QPbQ/aXBoyReaKuzG2CE1ASnHEVBEFlSX+vZ08SFUVfRVQiY1vQ3hlKkrtnGwM0KWizjLsWbU4cIRRDPAS4LgJR61H5ndm5n1IcSCIG5Sq5o= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645642585; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZaEwRMo2oY6rwpQE4B+3QMrYzCSW89oXDSuTLvdyBqw=; b=PiFGNY4K0b0ep3ixVuz5VuIgvBituyhIRjxcH0VQe+k/GeCinSg2CwH+Z1IDQUHL1F0HLLE0lu4DPIFYpzHd7BaY1M5Fa5qtFTFtxqHkPldqUdDs3DNhZPolGt9yERPyftcY8cEpr0QQqgezyV5HIxq4eORL21TyvCUUZ8zR8Hg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1645642585822717.2688984797788; Wed, 23 Feb 2022 10:56:25 -0800 (PST) Received: from localhost ([::1]:41338 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMwoK-0001fz-OH for importer@patchew.org; Wed, 23 Feb 2022 13:56:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41760) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwdy-0002oE-3U for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:42 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:46764) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwdv-0008Cq-0Q for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:40 -0500 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21NIDoO9020622; Wed, 23 Feb 2022 18:45:35 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3ecvar4tgh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:35 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21NIaV2u114456; Wed, 23 Feb 2022 18:45:34 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by aserp3020.oracle.com with ESMTP id 3eb482umrt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:34 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MN2PR10MB4144.namprd10.prod.outlook.com (2603:10b6:208:1d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 18:45:32 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406%6]) with mapi id 15.20.5017.024; Wed, 23 Feb 2022 18:45:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2021-07-09; bh=ZaEwRMo2oY6rwpQE4B+3QMrYzCSW89oXDSuTLvdyBqw=; b=VzKMfZeIQ3ryVZQq65XOMbJrtjwj8IyNDJHGnDh4ZwbKDXJJCQr7m6AjtpAY/m/4Nw60 6xWbm3yVbIXxokn4Iyt4o6zsL+5L2CEACzww1AF7Ij9Jt7wjyHucU/gNQg8HFZDbmM2V SoxwCFG2HWUfehvC1R52CYCPakH1xxwktOAd+tq9D/RG5PDdF2nUMUb/ejn+Dzg8A1UN kp3d49myxGJAvGuG5rSdXYHTmGEc9FiJ7UAue5zEvjPTE5gUWx68l9FlOJgYtIcVzTm0 SeqyQ2InHg2UB3XqzpztiV9/cxCv/o8jT1VvfM2xS/lscLJjsktOXxyg/yJvLdfSN0az gA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JJC5TPP3FJhaWWIrVlDmp9+T3hvIyfT0thML3JkiXEZ8UKzdPDNEES1GTb5F3AWrOmXuHwPKNYqXYmGKyMY3FielUMoUPBJ+YsmcMx0mHzpa9VBOjJS8zLMmpxWfL7GvlHrsQrCWwcpsx0i8RcgQlOns5Zm74d/GgoPAVhJVyFvajqBimHPRloUbsXwC06S94KjPgOqdkf4tsnT3SS/jFeXO4lKuy7Ryp48HWKK+yD9XXZKvXkXciKSTJY+Tuc8JxA1T8E0gTkgiodHgSTqLbtSGmmV0GhP9jsELtMqDU0V8SSXACvH5yTWT9ajSnmLX/rr2C3rPg1t7bNSm/S2uxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZaEwRMo2oY6rwpQE4B+3QMrYzCSW89oXDSuTLvdyBqw=; b=IUlIsTTMvHIBRDszXairjJ6uzysJEbD9sy+XBJwxzOs7F9cIDMFw8Md7atH5PbIbEUyOrPhma3EosBSYan5eDpQ3UMeTeCGdJsZNTD6qrBUP2gAFzMJgY0YGhGGZSECVS3GFBSQZpORd4lgR9WT+St3nZz+j2xZZ1vh7VnQ553CRoMFD+NdFSrE0rGLnOf/ylzSLQmehbCAlwkRo62P/hRWsPCrZS+MAcu99rrJ3pYSYlIllCAVUFrl/nQj1Buzm9h87yDk+c9R7AjrdbU3kNPL18mXm8gqQyQbcJuvGp3rRsN7EFCKERldockfFwpOCoDA9D5XGtrIqnS3Lw2pehg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZaEwRMo2oY6rwpQE4B+3QMrYzCSW89oXDSuTLvdyBqw=; b=UOltggYTeLoqdtBnWXUS3IxbbHtNRj4o4KHqTW1MvsLsM1mZ6Aa6kMRAmhUrmxK+IOo/bCTKDUSi2G+ElHegfaRy5cIHkZUHAZGY6Pj99AUiWgMCapfGzhzG5dL765snJpvnBQ9qS73D7HQpm1wCj66q1QN+p415CcriS90OwKo= From: Joao Martins To: qemu-devel@nongnu.org Subject: [PATCH v3 2/6] i386/pc: create pci-host qdev prior to pc_memory_init() Date: Wed, 23 Feb 2022 18:44:51 +0000 Message-Id: <20220223184455.9057-3-joao.m.martins@oracle.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220223184455.9057-1-joao.m.martins@oracle.com> References: <20220223184455.9057-1-joao.m.martins@oracle.com> X-ClientProxiedBy: LO4P123CA0332.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18c::13) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b3f7854d-0e91-4855-7eee-08d9f6fcabe6 X-MS-TrafficTypeDiagnostic: MN2PR10MB4144:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kekjndfwqOo8vcAA4HKOvUdE459wjtvFvgVRt0Xx2/WyDS8mr0e4KqDDyYwvbVJFzXDp0KcpEqR9JmwzlAkLHuxkncMKpnANG/WhZ7xnOzAmvR8fvj7eTHDNVzhDYNXiVQF5fXfaGwY6YI/MX/SqXTsnMjLe5xp/QshOO7Uxcf7XddXWeJr/AfpjORl+naYCkkOjQLWITAVoOF4RA/C8ut9ckAGcBhJ2O8i3WY6fqSEy2bekZrLKLmgHpj8aBM4R3uxYkGbO+J+2obShTY5siBZ2sCy9OZXGRMqm+CTy+CgNslyOgoPIVOTzq81GX5Xj3HMswdovx9Gz/nWx2TpBZye8kVcUew5exRHffZuRd3yFasyJ+wSbmxGhpMJpmrEnSo1OCbdmmeUkxJSIkLQIKD4rOQOwDeCi9W6ii2lCVug0nz0wJ3H3NpndOM0xnJiFaAsj6pkJpqmoBI3ipNS1SFMy/I2XYgBo0qfywWdL4biq3yGpdAuFFHjtNAXnceR9Rt3sZFOc0jeLTv+tvHXxZDHBgdZ/TUgLqq3Ri2IYuNSGBd8nMOrgxxr9PJYPjf5gFVVe6S9kpiwcNDif/duCuH1kP0DMk9RLl4ZFyDSY7w382Dxbp6A+kyLetwUl0D/ImgqTwpT0j5FsGekQ3ZEp28buP4ZHnWGG8J0NBYHo8V8jiOG1ZFRHWGLohYE2aEUAez2krzKB3yi+2wm7nkM04Q== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB4835.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(6506007)(6666004)(66476007)(66556008)(66946007)(83380400001)(4326008)(6486002)(103116003)(36756003)(316002)(2616005)(7416002)(86362001)(38100700002)(38350700002)(8676002)(8936002)(54906003)(6916009)(107886003)(1076003)(186003)(26005)(52116002)(508600001)(5660300002)(2906002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zBoj+jOvoH6L85X7kRyZQT/s+FjLK2vX6DdqVM6eJNghbkz+MZ/RW3ANpsdG?= =?us-ascii?Q?aVHwOla4G8+4jPGMi6ItO5fR9hQMYP7AW07izLzkVVv5iUmDheaXaDLMcX5B?= =?us-ascii?Q?kDariQlv/QITMlhBnthrp1pClLJPtqJWzhu0dWfdzi+8u8vEa/HTPTKHiPo8?= =?us-ascii?Q?z/GlM5SqHE6ea4MobYm1p0dljfOjRFINPdqhIYcKoozYifQF6/Y3ms/8FOSO?= =?us-ascii?Q?9XS3/XPSntXni9/B6MNqcW5At91k1R+BAbSJ6TBdNfGXnhGlekAXzTeMWKN/?= =?us-ascii?Q?GjhYR7a6uz/7VmtqzmbZnSazLtLCexVsGvGzKmczj0cImE+pNHCHpFsCSj94?= =?us-ascii?Q?uCrLVtEXdqVDZfvlKSbydFdOhTjbYUkWkJjYv6H6XmmxXg9YTMwFXB249uZR?= =?us-ascii?Q?Akxr7lhHibK3cimyZXtjClyptEsReDphz5HsOIa5el/Z4EmsJ81LbNBbW6e0?= =?us-ascii?Q?I6+byyspHUJBeA5HBtXMTaBtJ84u/VlJhP3y7nXZ9K050fQ6o/nvDifRa3St?= =?us-ascii?Q?qtNXO/XATcIuWXhxKnHjUqfMhOQgKH9iaY++KS1wBxjLRzU7RHAnZ6pQy3QT?= =?us-ascii?Q?yPopO/h2oSQO5PUTEDcGE7BOjxd18d+4qn+HVY6IH2s6OQGoQ1woCODovrDa?= =?us-ascii?Q?lTnc9eroXXYuab/i859FLXbTL4am+gxAsReSNF8JRY+m3mwa06ltOOdwQc+W?= =?us-ascii?Q?Ra3xpD/IAruX52Dz6OiLXEIZCWdMOzkhyeYvgWHTRsiHjvvkeJD2PLewb9it?= =?us-ascii?Q?qowdIyCw7XVhFevd7GdPAaaN2WgxHw07lYNtVTxhI1zyY28BTbQvBXS7N4Tz?= =?us-ascii?Q?63z8eVYeReqzwzaT8LvWmga89KpdeDn1ECWx/FcdpgZLqA2tpIWmqRLOQ+Sy?= =?us-ascii?Q?cRNOu6BRa7eWmGU/zK7kjG6SbCs3HnFzcZgoHzoERzKfbqM8XGD0c3tbwZnK?= =?us-ascii?Q?pR67Qypf7ql3Z8yxzL3QWbRHSejQTO7IM7arqchKdjxqrqJVVLfq9Gn7tMn7?= =?us-ascii?Q?Cl16f3GRQ5K7JvBQ7jWVqEIbPwACVPX1S4YwSLcBxY5waHUMXfnJ+AoX5Iwk?= =?us-ascii?Q?WHRu5vF1j+op5JMLBLaq/hInEHgBue2zYDZTYlnSKh+vu+4fIiKCBlzuIzSy?= =?us-ascii?Q?qm39Igv6vKiMzzunvI7zchNswqdiw4xUAxFRAXnPTrC2s/SlgatqA1bdQF2s?= =?us-ascii?Q?xmdAlZ/trupjfil0h5fjtDFxo639d6oQ1GmDFQ5WXeduSvp3srTdn9qbvHzz?= =?us-ascii?Q?JC4hPuS5FS1S7P658Nm+Zo0Pol1x1l8sGmuO6JfYLnCNyDZUcB1GiVQ7AaE+?= =?us-ascii?Q?OyfnlwzhcVb/8ImZ6TGSxTWTiHHPNdDmuKenVD8xeEQaMohmesNigGArXAcW?= =?us-ascii?Q?SgRlmdQ7kweuJ6lFfdpQAqUv0MwbwEG5jf9ayoHYpWaUj64o7idx2pDsD0gr?= =?us-ascii?Q?2TfUxIq3MMYga+mT2Y4es/nHWBnojDZXRPIWBbZSnFl4U31niWPY1QPA0PMB?= =?us-ascii?Q?SgV6UZbbicEQMYxryu5WrczonqtV89W4JlPUq1hCAuqCXhyOXsbdq1nKfiwp?= =?us-ascii?Q?ym4GPMpRPGE7IfOmKHl1xGjVsTdoYyo11mTpTg+xX3QHkCycfgtaroJGCOQ8?= =?us-ascii?Q?NhCJziu4VBvdr+g4RtaOlalnL3nJv9IMo81jAxvC29IUBmh6Nm6BR48z7VEx?= =?us-ascii?Q?bX+eeA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3f7854d-0e91-4855-7eee-08d9f6fcabe6 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 18:45:32.8024 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VPhIlhF6AoHnQHh8trUqoe2e3mp+pcC+Cml8Gd6DN7MUPELutJY35GBVPk0Bd5gQI9IZANt4r6NmsM7igKUFm/HTGi6c0Jj2g+zRugje2lk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4144 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10267 signatures=681306 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 bulkscore=0 phishscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202230106 X-Proofpoint-GUID: xGxGfOx6o6lgHALn0Zcd3kQIVMBsB6PN X-Proofpoint-ORIG-GUID: xGxGfOx6o6lgHALn0Zcd3kQIVMBsB6PN Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.177.32; envelope-from=joao.m.martins@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S . Tsirkin" , Richard Henderson , Daniel Jordan , David Edmondson , Alex Williamson , Paolo Bonzini , Ani Sinha , Igor Mammedov , Joao Martins , Suravee Suthikulpanit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @oracle.onmicrosoft.com) X-ZM-MESSAGEID: 1645642587664100002 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" At the start of pc_memory_init() we usually pass a range of 0..UINT64_MAX as pci_memory, when really its 2G (i440fx) or 32G (q35). To get the real user value, we need to get pci-host passed property for default pci_hole64_size. Thus to get that, create the qdev prior to memory init to better make estimations on max used/phys addr. This is in preparation to determine that host-phys-bits are enough and also for pci-hole64-size to be considered to relocate ram-above-4g to be at 1T (on AMD platforms). Signed-off-by: Joao Martins --- hw/i386/pc_piix.c | 5 ++++- hw/i386/pc_q35.c | 6 +++--- hw/pci-host/i440fx.c | 3 +-- include/hw/pci-host/i440fx.h | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index d9b344248dac..9ff49e672628 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -91,6 +91,7 @@ static void pc_init1(MachineState *machine, MemoryRegion *pci_memory; MemoryRegion *rom_memory; ram_addr_t lowmem; + DeviceState *i440fx_dev; =20 /* * Calculate ram split, for memory below and above 4G. It's a bit @@ -164,9 +165,11 @@ static void pc_init1(MachineState *machine, pci_memory =3D g_new(MemoryRegion, 1); memory_region_init(pci_memory, NULL, "pci", UINT64_MAX); rom_memory =3D pci_memory; + i440fx_dev =3D qdev_new(host_type); } else { pci_memory =3D NULL; rom_memory =3D system_memory; + i440fx_dev =3D NULL; } =20 pc_guest_info_init(pcms); @@ -199,7 +202,7 @@ static void pc_init1(MachineState *machine, =20 pci_bus =3D i440fx_init(host_type, pci_type, - &i440fx_state, + i440fx_dev, &i440fx_state, system_memory, system_io, machine->ram_size, x86ms->below_4g_mem_size, x86ms->above_4g_mem_size, diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 1780f79bc127..2881afd75a82 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -203,12 +203,12 @@ static void pc_q35_init(MachineState *machine) pcms->smbios_entry_point_type); } =20 - /* allocate ram and load rom/bios */ - pc_memory_init(pcms, get_system_memory(), rom_memory, &ram_memory); - /* create pci host bus */ q35_host =3D Q35_HOST_DEVICE(qdev_new(TYPE_Q35_HOST_DEVICE)); =20 + /* allocate ram and load rom/bios */ + pc_memory_init(pcms, get_system_memory(), rom_memory, &ram_memory); + object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host)); object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_RAM_MEM, OBJECT(ram_memory), NULL); diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c index e08716142b6e..5c1bab5c58ed 100644 --- a/hw/pci-host/i440fx.c +++ b/hw/pci-host/i440fx.c @@ -238,6 +238,7 @@ static void i440fx_realize(PCIDevice *dev, Error **errp) } =20 PCIBus *i440fx_init(const char *host_type, const char *pci_type, + DeviceState *dev, PCII440FXState **pi440fx_state, MemoryRegion *address_space_mem, MemoryRegion *address_space_io, @@ -247,7 +248,6 @@ PCIBus *i440fx_init(const char *host_type, const char *= pci_type, MemoryRegion *pci_address_space, MemoryRegion *ram_memory) { - DeviceState *dev; PCIBus *b; PCIDevice *d; PCIHostState *s; @@ -255,7 +255,6 @@ PCIBus *i440fx_init(const char *host_type, const char *= pci_type, unsigned i; I440FXState *i440fx; =20 - dev =3D qdev_new(host_type); s =3D PCI_HOST_BRIDGE(dev); b =3D pci_root_bus_new(dev, NULL, pci_address_space, address_space_io, 0, TYPE_PCI_BUS); diff --git a/include/hw/pci-host/i440fx.h b/include/hw/pci-host/i440fx.h index f068aaba8fda..c4710445e30a 100644 --- a/include/hw/pci-host/i440fx.h +++ b/include/hw/pci-host/i440fx.h @@ -36,7 +36,7 @@ struct PCII440FXState { #define TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "igd-passthrough-i440FX" =20 PCIBus *i440fx_init(const char *host_type, const char *pci_type, - PCII440FXState **pi440fx_state, + DeviceState *dev, PCII440FXState **pi440fx_state, MemoryRegion *address_space_mem, MemoryRegion *address_space_io, ram_addr_t ram_size, --=20 2.17.2 From nobody Thu May 16 00:10:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=2; a=rsa-sha256; t=1645642672; cv=pass; d=zohomail.com; s=zohoarc; b=ky2dL4SOHOABCLZZvSJ51h/MfJgVtWmbylf5Zii6PI6/2/y3q/mj0y0ZwYMtPaTz6rV262M1XpXjSCeh3ax1tFAYTXSouOKzc6XX3L957MK0tG+dB2iEp7+eTR+sJOSA8ZWgUjlHdI8Aid/O94scfkx89hWw0MuTlRSlX/rfzXE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645642672; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OXyIZvziI+CXRfN+/RMx9WF7EAQPNHxJpygpgcJz75w=; b=T78qphLL8QBetPcvRlWMotlv1VpxFjKyrzVPThaZhYyLZj2732fINkerRmpGXkhFG9Fhdcsp8vG4n5nDKIPxkvY/dbfGYzPPV+SZot6QeobpzBW+0ardXnw3E9YCV8Nmfp8a0MK1AiNbOEXGUsxaopBLZie0gdPJtJJ+sXgW8MM= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1645642672137499.9551238044677; Wed, 23 Feb 2022 10:57:52 -0800 (PST) Received: from localhost ([::1]:46788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMwpi-0005O1-Mi for importer@patchew.org; Wed, 23 Feb 2022 13:57:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41794) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwdz-0002pZ-A2 for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:43 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:51824) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwdx-0008DJ-FW for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:43 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21NIDsLe001897; Wed, 23 Feb 2022 18:45:38 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3ecv6ew15s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:37 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21NIav9v048623; Wed, 23 Feb 2022 18:45:37 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by aserp3030.oracle.com with ESMTP id 3eapkj2dk1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:36 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MN2PR10MB4144.namprd10.prod.outlook.com (2603:10b6:208:1d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 18:45:35 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406%6]) with mapi id 15.20.5017.024; Wed, 23 Feb 2022 18:45:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2021-07-09; bh=OXyIZvziI+CXRfN+/RMx9WF7EAQPNHxJpygpgcJz75w=; b=M6O3cGfciu9YToxTdfZCAnWStofLMykfwhUQYLY7JPw0NWEtondebwYSz4O027i2S7Xl gvD57sfRu0mbkpm6DnEZoS/v8zSYDqdJaRD7GLbX8AYmioUL81Exi3YjHuoy9rB2lwFR IKvEvUOtMbyRUpzTs6KxbKD6P1/1o72hbVvQDjHYCo9XWjBlWMhxMcRvfd/E1CLxQ8sS +sZpkEBCZWs1qKz/S6GngWM7jN1xxstsEHW4zUibzlL2dI/6xGHsAvXj8NQSljD9OEd/ pW4j+9QHgKNoF57FNSgXHZp8EpnWNUELJx6Ph1SitRwdaEsDBxVzCD2WrdDJRbqw3NP1 hA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NlGWGfj2uSsLychVgc7fXJuB8bPak7fZCUaUA4BDTijh7nVYeT6WWk6mXSzu5B0JXES/0kH76zIQN3Ut3xNFNYSICOPoKwSv4SCCA/00wLKEvzU2kltx/XaEh+/zbneZDklMW+lPRARQ9dvPzCMBJd9h47OV/azrY1lWsnQIjocXUEFi3/AkJaJLq2N7RThdTQc+aC2O70Eace9tYwSvrvzDn9QTORJosdlxNHPUt1I0iZnCY6VJxe/6DJSzCptaLnsZccdndqtUqndEnySGI+rsZsWJDV6GbAB3H5B3YngkmocGYMhob3xvrLtqZ9vYXmdod90/LNEL41eGFLHJzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OXyIZvziI+CXRfN+/RMx9WF7EAQPNHxJpygpgcJz75w=; b=krx79BG0qkv2aqEVJ+7/boKKcV1L45vyE/+e2Lt+/R71fZFs+0aFqiPLO3nJF30ff+LC2gMu4WmiDDWpRVLmUUNJKYsjK0P7oKGzDlraW2D7JiQfgs5MB7H7WAYqvc3lGctDZd0GlLN+ABJn4iwXY52I8r88W3s2RKzvX+VSeXSLVQYQdz5Iowsc5x1UgPwws+KT8RV11j9xWDYYqrR1MIOSqTMuZ9bYUiDSPBigGUj4UPXQskt5JCkmhxCGNraXkFuHDJJrJVRY3Oik2N2ILXG9nkXZgnxxKaYxFnqbwYLshf/DWDlnF4aoLIH7Mwt+Wh0jgkysh6rO9PYi+cIw/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OXyIZvziI+CXRfN+/RMx9WF7EAQPNHxJpygpgcJz75w=; b=Yv5eLsAbZVN0VBZmhDcps3Ui2B6Nic/imK31wsTlbX4MKUFSA/Ktr4/AxYmej3OlHK2zjwMW3xhnrgcQPPN/98pDBBtj1gnT2k85trMNzHeV4POM2i9oXJOXCtrI8c9u4AM1qhyIBrbq3GDWwArZGtHxWvaVJYucJXFczLzJ09s= From: Joao Martins To: qemu-devel@nongnu.org Subject: [PATCH v3 3/6] i386/pc: pass pci_hole64_size to pc_memory_init() Date: Wed, 23 Feb 2022 18:44:52 +0000 Message-Id: <20220223184455.9057-4-joao.m.martins@oracle.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220223184455.9057-1-joao.m.martins@oracle.com> References: <20220223184455.9057-1-joao.m.martins@oracle.com> X-ClientProxiedBy: LO4P123CA0332.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18c::13) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d843421f-e12f-43f2-dcb2-08d9f6fcad50 X-MS-TrafficTypeDiagnostic: MN2PR10MB4144:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4Qpr1/ZDtuZqR+1AgvGDVcQzBUp+rDt2j4tlO6O3PrCw07L2jf60I6bSufPyj+8cfVVaZpnpe/lrNGdrhhDRKoqX5SbBpfVkQoO0x0iiol2a9sWLh7npH6iXqczBd4Un432pYEhUdWe9C3vqOVsxwa01CDds8LT7y2iCWrxFBzxUNpSZ+aKNwqBkG9txtgirgjwtBWCUBpkf5zitNkKepcisHj1f5NSNuAXfkzck5d9470dWwFlq2gXdRUkRchqPiwngUL0s5S7SqA+hTu5C5GvN/ITFoNd0/7lDtMx10njb0J1VN+xWpi8GDi4pmMUzIvsnUxyuYR8eIg/tW2PWhXtkz+T/NmsGA8dBwVeWECRaffP973lX4aX9MyJWqaWQe2+TUzrkePBvHgoJyfTgknLJ3+aHGbBCoACsRrZkPCMTBCEwxGsjOYYvVk6wxvfRHhhn82HcOMXFav1o6pD0V45MPJMfgOP1rYU4tPyn8V+zotg6DgFQs4Mje5pp/ZWLNm0oct2xtL5jO/YUmh9vyOzYaP+C+jCAG+riBYMPxUHbjcEMunV3CUMJZGIZL8ikyxn/RKB1AwQapCrYxvzk4dCKoMcgwWI5xnpuD5BeB1QLCwzjgiY16r+/DYgolRM1jjAfJ8N65xNQ8gbZkY3pcidWsjYutP1n56kUOxU0v4pMVcf0bGrXZMwHzizUM6tZdSkryZF7FCOGYD+SU5wLvA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB4835.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(6506007)(6666004)(66476007)(66556008)(66946007)(83380400001)(4326008)(6486002)(103116003)(36756003)(316002)(2616005)(7416002)(86362001)(38100700002)(38350700002)(8676002)(8936002)(54906003)(6916009)(107886003)(1076003)(186003)(26005)(52116002)(508600001)(5660300002)(2906002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Q/GEmUQQGh2HNyUg8zl9BNJXOTPlSycJtH6+7exm11snE0ntNu3PMbISIhMg?= =?us-ascii?Q?fuuPH9Fz6pweujWDXb/wU283VE/9KDnFjggSuZcn9USLRsrVm2zToM974K6S?= =?us-ascii?Q?4dUj3iH8SWQT9rf9JeCTq1ww6dX0tfVaxh7z1DV5goH5dJ3fAqfT0HTBy3+i?= =?us-ascii?Q?fLkQAWAZv+3cyD3QMyqVMsvbM9ste/WbVLkBiEyR6PCBE6IgcFvyUN9MeeCB?= =?us-ascii?Q?i2gWlPu8rLVP/y2DOvAduI5GXOevYtyrsObufMo7HgzWB5oYGQ6jnNpmKFgo?= =?us-ascii?Q?EOifpnxyijrIOd7d/3k4T/5wL9XGfMqLZPkFAThAtmF8LnNOYkApUgV/eG9y?= =?us-ascii?Q?LJeB+wT8kVoFSc+4Ckxpkr5Z19xNR7jQUvXQ54/Dc6jtYNDnVRK4WETmi2z9?= =?us-ascii?Q?v5N75CW9mPxQHNdvuX9/jJadzkiEWlnRhICljIKWM7DW6BVOLu+Saq/f4+4l?= =?us-ascii?Q?U0HdahpUQVOYt8kapwv5SO+kTxc38+Qvs//pVss5y/uVsXcpuiUXALYI7VED?= =?us-ascii?Q?QTpzzs/pH8M21l+dD9SJys6ajhzgLN4tVX0xUmxkufB6EVu+cojCF8QwERr3?= =?us-ascii?Q?ZBAUGdhP2nBcFdrUpYm1vGTDeevTOHnJ0PyIsEpRcqGa/pUKivNJrzERShbx?= =?us-ascii?Q?u7P3K+ZwEpDhJ7bsrzTZrZoryaOVaAHHcT9ZeAgMSZojmd4dPNURC27mN5uL?= =?us-ascii?Q?HoRuZlCe4XkUe5nvrybr5IvWLvf2kfjP0JkzafEX69rOTjjXmR1b8JmJWPdz?= =?us-ascii?Q?q1Hp0J6F9EtCZW/adXc7Pf4/er/OvsOlPTatahUYpbEO5+LN4UcWCPSQn8sI?= =?us-ascii?Q?hgtCWUbhHbkOkInGgGY31MDsucSSq2Yfv0dUnlrjnRaBvfMhxWM0MoPZrUTq?= =?us-ascii?Q?Btz6L21XFNiWxxK0ytmQ9SBGyeSSkh/ElfmlDsoqU+2iiOsZmt37C74hs/Ei?= =?us-ascii?Q?uMBj+Y1w4s96vieCpML9BkH3qh2tnRdDajbECHgM+/8o8M+EdjJ5XsCLU2pI?= =?us-ascii?Q?F2+4PzUuQYRZ2+WqHw1Yo2okH+qPjYn1itz1ox+ERhKdLlucY1K+AnxMxnjC?= =?us-ascii?Q?aSBzmS3sUJ9SUsvEDcc8qgmHbZdAw0OAA3xxM1ITbiflP36n/QTVvhntnSY8?= =?us-ascii?Q?gmWeQrgRDkxXVRcNR6WxF6oFkDxpQWlZOBuXovKjmitO2M2HVbTL7bZBrBgt?= =?us-ascii?Q?IpKAjh0ddRVb2bwCemMJctrf9v2hmmQtcBy0INGU+0l9iBS1Q92Ttdg2/h3g?= =?us-ascii?Q?Iq9wGpbN1c53tTc4Q+npMJkJQqJdViNrkXL0f4sSm9fT5ADMbpRQU1UKoAn4?= =?us-ascii?Q?EMSBLhbsxovCuGI8tTB6WkxZ9ycTek6eoFVoq2a4zGptCYONqfxSUiULqVEE?= =?us-ascii?Q?mfPd5yjVBAsylLeAval9eqSluZy6OpQBHKIwcRx3kLmd+wEBu+sekAr60UNP?= =?us-ascii?Q?Qsz1ZQvAB2EOb3vzA29GE8iEJvvaIfZVXsSRg+p4yeQPTCzNF0qxgnYkmvPr?= =?us-ascii?Q?OOAsQyN4oMGmq59+J77eUBT6oEIm7yWGiFk5I7Rm9URI8LKMys2DDU46Wayy?= =?us-ascii?Q?7IG/jIT55p3x3mZGv2KGIfDAPya0Hy1ufEZ0ykfW0KifosOWn+0IE0zSlZRO?= =?us-ascii?Q?Dw/A2HMEwIgawGjiSSfg0ujLRjop8q1gwkG3QUHU2utrlVjOtjI3QPnJ9dwW?= =?us-ascii?Q?ennAyQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d843421f-e12f-43f2-dcb2-08d9f6fcad50 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 18:45:35.2084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mbrxeY3AQZb7tNHDqv91kFyu1oAgovoHf6yi+cTCr0Og7gcqA7z8VB4WoPY+tqaxJ4TmtP+56qRQwbpR+XlHR+kJmYBsAacVO2Av1vnlGZ0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4144 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10267 signatures=681306 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 adultscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202230106 X-Proofpoint-GUID: YZGvRjzrMwTsnPtGptsHKrEDlo3lB7iE X-Proofpoint-ORIG-GUID: YZGvRjzrMwTsnPtGptsHKrEDlo3lB7iE Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.177.32; envelope-from=joao.m.martins@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S . Tsirkin" , Richard Henderson , Daniel Jordan , David Edmondson , Alex Williamson , Paolo Bonzini , Ani Sinha , Igor Mammedov , Joao Martins , Suravee Suthikulpanit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @oracle.onmicrosoft.com) X-ZM-MESSAGEID: 1645642674429100003 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the pre-initialized pci-host qdev and fetch the pci-hole64-size into pc_memory_init() newly added argument. piix needs a bit of care given all the !pci_enabled() and that the pci_hole64_size is private to i440fx. This is in preparation to determine that host-phys-bits are enough and for pci-hole64-size to be considered to relocate ram-above-4g to be at 1T (on AMD platforms). Signed-off-by: Joao Martins --- hw/i386/pc.c | 3 ++- hw/i386/pc_piix.c | 5 ++++- hw/i386/pc_q35.c | 8 +++++++- hw/pci-host/i440fx.c | 7 +++++++ include/hw/i386/pc.h | 3 ++- include/hw/pci-host/i440fx.h | 1 + 6 files changed, 23 insertions(+), 4 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 7de0e87f4a3f..360f4e10001b 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -805,7 +805,8 @@ void xen_load_linux(PCMachineState *pcms) void pc_memory_init(PCMachineState *pcms, MemoryRegion *system_memory, MemoryRegion *rom_memory, - MemoryRegion **ram_memory) + MemoryRegion **ram_memory, + uint64_t pci_hole64_size) { int linux_boot, i; MemoryRegion *option_rom_mr; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 9ff49e672628..5a608e30e28f 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -91,6 +91,7 @@ static void pc_init1(MachineState *machine, MemoryRegion *pci_memory; MemoryRegion *rom_memory; ram_addr_t lowmem; + uint64_t hole64_size; DeviceState *i440fx_dev; =20 /* @@ -166,10 +167,12 @@ static void pc_init1(MachineState *machine, memory_region_init(pci_memory, NULL, "pci", UINT64_MAX); rom_memory =3D pci_memory; i440fx_dev =3D qdev_new(host_type); + hole64_size =3D i440fx_pci_hole64_size(i440fx_dev); } else { pci_memory =3D NULL; rom_memory =3D system_memory; i440fx_dev =3D NULL; + hole64_size =3D 0; } =20 pc_guest_info_init(pcms); @@ -186,7 +189,7 @@ static void pc_init1(MachineState *machine, /* allocate ram and load rom/bios */ if (!xen_enabled()) { pc_memory_init(pcms, system_memory, - rom_memory, &ram_memory); + rom_memory, &ram_memory, hole64_size); } else { pc_system_flash_cleanup_unused(pcms); if (machine->kernel_filename !=3D NULL) { diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 2881afd75a82..c81d21d1ebb4 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -138,6 +138,7 @@ static void pc_q35_init(MachineState *machine) MachineClass *mc =3D MACHINE_GET_CLASS(machine); bool acpi_pcihp; bool keep_pci_slot_hpc; + uint64_t pci_hole64_size =3D 0; =20 /* Check whether RAM fits below 4G (leaving 1/2 GByte for IO memory * and 256 Mbytes for PCI Express Enhanced Configuration Access Mapping @@ -206,8 +207,13 @@ static void pc_q35_init(MachineState *machine) /* create pci host bus */ q35_host =3D Q35_HOST_DEVICE(qdev_new(TYPE_Q35_HOST_DEVICE)); =20 + if (pcmc->pci_enabled) { + pci_hole64_size =3D q35_host->mch.pci_hole64_size; + } + /* allocate ram and load rom/bios */ - pc_memory_init(pcms, get_system_memory(), rom_memory, &ram_memory); + pc_memory_init(pcms, get_system_memory(), rom_memory, &ram_memory, + pci_hole64_size); =20 object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host)); object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_RAM_MEM, diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c index 5c1bab5c58ed..c5cc28250d5c 100644 --- a/hw/pci-host/i440fx.c +++ b/hw/pci-host/i440fx.c @@ -237,6 +237,13 @@ static void i440fx_realize(PCIDevice *dev, Error **err= p) } } =20 +uint64_t i440fx_pci_hole64_size(DeviceState *i440fx_dev) +{ + I440FXState *i440fx =3D I440FX_PCI_HOST_BRIDGE(i440fx_dev); + + return i440fx->pci_hole64_size; +} + PCIBus *i440fx_init(const char *host_type, const char *pci_type, DeviceState *dev, PCII440FXState **pi440fx_state, diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 9c9f4ac74810..d8b9c4ebd748 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -158,7 +158,8 @@ void xen_load_linux(PCMachineState *pcms); void pc_memory_init(PCMachineState *pcms, MemoryRegion *system_memory, MemoryRegion *rom_memory, - MemoryRegion **ram_memory); + MemoryRegion **ram_memory, + uint64_t pci_hole64_size); uint64_t pc_pci_hole64_start(void); DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus); void pc_basic_device_init(struct PCMachineState *pcms, diff --git a/include/hw/pci-host/i440fx.h b/include/hw/pci-host/i440fx.h index c4710445e30a..1299d6a2b0e4 100644 --- a/include/hw/pci-host/i440fx.h +++ b/include/hw/pci-host/i440fx.h @@ -45,5 +45,6 @@ PCIBus *i440fx_init(const char *host_type, const char *pc= i_type, MemoryRegion *pci_memory, MemoryRegion *ram_memory); =20 +uint64_t i440fx_pci_hole64_size(DeviceState *i440fx_dev); =20 #endif --=20 2.17.2 From nobody Thu May 16 00:10:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=2; a=rsa-sha256; t=1645642297; cv=pass; d=zohomail.com; s=zohoarc; b=fkEdZo8Ctf/DEA/fH2x9Xs8WH25egM6WyxHZhZ9hz4Y8tJmRZyJ5KWiIpXKY7ox/7VxFIF+IRJ7tQTlUe7aLVnRGGdXmIjcC82pM38V+zMvYW5fwVG9BmuQflPEai4khqWZUTJjKnyNtBMgoUjJla+1R75z9AV6Ur4rYKxrbe4Q= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645642297; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=67e4JTXeAvQrX49awy6nYJ+P+TFmfefA27+jMjd3Vcw=; b=c8Xys7keldFiWuhUaVuwY585CKlZrwkD0lCiurVpsu+nenxJlfoceUIcidIZJp5fzeozGk1NEzQpg23iKqKb1kiqOgrcS2iYN9wsuohaoF/UfsSX2re1BDXIb2rXsgcZSu2QEaFa17wt3P8LjE9LvILQmQiud6QynG3Y8Xo8l4g= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1645642297349956.0819772934422; Wed, 23 Feb 2022 10:51:37 -0800 (PST) Received: from localhost ([::1]:34250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMwje-0005BN-TL for importer@patchew.org; Wed, 23 Feb 2022 13:51:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwe1-0002sP-4p for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:46 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:55256) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwdy-0008DV-VW for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:44 -0500 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21NIDolU020630; Wed, 23 Feb 2022 18:45:40 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3ecvar4tgt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:39 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21NIaVMr114448; Wed, 23 Feb 2022 18:45:39 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by aserp3020.oracle.com with ESMTP id 3eb482umu5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:38 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MN2PR10MB4144.namprd10.prod.outlook.com (2603:10b6:208:1d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 18:45:37 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406%6]) with mapi id 15.20.5017.024; Wed, 23 Feb 2022 18:45:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2021-07-09; bh=67e4JTXeAvQrX49awy6nYJ+P+TFmfefA27+jMjd3Vcw=; b=JQqUilaZbMEps6UAevNnnkpyKBz8N16beJamWsT10rjB9plj2+Km2ltmggPaJRqBQour 5UunRVtsU5sfCDQsT3Lzd/1DJBF1LP+4LWbztO8OlH01b31uEcmQT0GALcdrMo99sq7F +iRT7J6rz1TJNz4yPyr5qtPL6A7FKVQ4hG1jd2VQLWKFC13yfLLVJqS70N0FpdRZKPnR oVEJ09RvKZ022RlVGijDaNpTPsGKs6/h80A876+sHZzIS+8sLvziCowdYt2RLFq6368V Ao+bQOI0V+grpp29VkBNnNm0TwBy7uNcBnoi0CQTDhSwanEOPOWL2C798Cml0KAauRRi tA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EGogsoSgXVP509I4cl+wUeKdt2/0KAT1/U/vY3nI5GXPV6XqXWk4TrdpICnNYwWQYapdH9VSk6sKvjqafOP8HRFiT9Cp1Q5DNFtPZksUoN3Z7izF7fCVZNWic3uem6YZC9L6mLSFGCNnISA7Z0yGbQ3d9+lsxK1N7h1A0yrUbFdisllblMKLL+tofNBFucVU+k0LT6esKXj3pPEqRBmH81x+W0lg3Z4SloqvPmdUahLGrSrbKkEQhBnxaXSFhLn612shifOHyrMLuvMcUH6lXVWsPSH/xwDAvYeLFtTaSOVhvJVVAX7sWw+qtRrE6XfLjbWAgw1Cj62//wjn7WIMRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=67e4JTXeAvQrX49awy6nYJ+P+TFmfefA27+jMjd3Vcw=; b=CSp/B50FGsgjK7pspkc8C6KBCGyP9v6NMeX3dC9ZIWhWet3zdTJvMI1iX1v0QwnoYqAYR26Bq5Y0BdwhPcnK5ZaajDLcbY6NaKRPelIdvY1d2HGv+kJNRKQ8Lv24N/sN8I0A+ZqDpvntSzl6l0M9/KP5AegVunrzcZbbMd5YzJKgjOPQ4yXfG50pxoKtNO8Qdodqd+MqiKvXaB8DVhjF3+0xaMNRwXx3X5bl+pEiVQgiLE7Xw12I0031l//5JITiy4seAMtaau6XgexMQUciwbjXggBqCHl8ljoiBPqEISD/N+Rmjz5FUfY2QEkNeDNHdBmqXYYFWgPFz5kyiymMMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=67e4JTXeAvQrX49awy6nYJ+P+TFmfefA27+jMjd3Vcw=; b=BnJR2yPZsbQO9QaB+9mNSPStkRfrrPtW7J+LQzqBjoPJrPyvFvKRaa0r/vENZ+lz+XynzMw1AuMpRtInGEqI4UaDc2ovWlQ/p2gmPYdxd1vsEQxo8kVb4QEZY2kL7QVQcudvdLmHBU6ddDATnHeG2APWxp+F+IrgalmeXu5SXfs= From: Joao Martins To: qemu-devel@nongnu.org Subject: [PATCH v3 4/6] i386/pc: relocate 4g start to 1T where applicable Date: Wed, 23 Feb 2022 18:44:53 +0000 Message-Id: <20220223184455.9057-5-joao.m.martins@oracle.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220223184455.9057-1-joao.m.martins@oracle.com> References: <20220223184455.9057-1-joao.m.martins@oracle.com> X-ClientProxiedBy: LO4P123CA0332.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18c::13) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 623efb96-145e-47f4-b3ef-08d9f6fcaeaa X-MS-TrafficTypeDiagnostic: MN2PR10MB4144:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AZlzXIGCywZCC2qqQWWYwPvhwQYUjUjr1swGdNPUrS/wtYKvZJZptQuWhTQF0isS/fjjuL3MqyAAloGye4WAUFyFSa3/+qEqleha5zLpZhrQjrqPX6V7SfH0MdCRK6IVHemMbkhqxV3/CTaGlfsjNNcxDeV8mF1AeulzkhT9PaZln1b1iyaygKUjHXmAdFPv9Kl4AMu9WQhBl8o6YlVhXPoJOwgN7F3uEMQAdEViR2Z0qG1a6+k5cOWicQw3AhbXZBeq9lbc8aKCUGiQfaBKJeJ9vxM+dfoTwU76IyopadIn5IY+NTq2pMBL8zxefx3iSFnK9EtDX0ltvhHvynAlCibT5brruqF/w+1xEVdcmdY+KW5CatUf+OJYBbHFkPmbO/FC+K4SyutHWJzoqXM2PDy+7PS68sieyI6Lwd9y0cEji+ChtZTynoM6jQKq8Nr4sSbjfFrIxhvMvc7Rm1HISnEKckjkzHAiYvqrw6X643ApVEzEB8bWpduBYPJtEzCw3k22ZSz3Pr/Ski/WA+2ukbD7KB4fwbE71V64y2P/7SpRgmp0Z8RLRITsCjRHT2NwqwE85q8Yf9sU1fvJwG2F3cl9IS9o3AuKHGYzj31FjJP2gFrz2Pbr4MhX3ABtBWkHUcDWrKwp/47cOqRFIdi/7/zWkE8gE9GYf47B9MNQ58P0oY1uSa/GryfwqgmKkp1yPMCpyFME7C6F9IZ0wRhQfA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB4835.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(6506007)(6666004)(66476007)(66556008)(66946007)(83380400001)(4326008)(6486002)(103116003)(36756003)(316002)(2616005)(7416002)(86362001)(38100700002)(38350700002)(8676002)(8936002)(54906003)(6916009)(107886003)(1076003)(186003)(26005)(52116002)(508600001)(5660300002)(2906002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rH1F13pxxmAf96JKlBGD6Nm2nSOeDw1Z4fBJQV4YGV2t2UCQ60gEyk7Fjj7R?= =?us-ascii?Q?DTRvXJquIkGcPa9oWqJy7WlcYn2lSat42bLRezMUwiW0WzYt7zd6mpFtwDhy?= =?us-ascii?Q?xVhNDA27IKs0437NNdQTYJXtxaG4ahAAYaqIpljlPeafTtv+2vFVNz12nUoB?= =?us-ascii?Q?8LSDuqVAQi+pRbD/Vyrir4NLK8vafFqx+4ZMBOZ9+xHPdSCn64o+D65bSEAY?= =?us-ascii?Q?KZMG5OwCsoU4LG85YOF3fh31Jb7OjVR23fYi+EllNYjmvY0QQZpph1MfhpYa?= =?us-ascii?Q?uSfRu7UVAmnGkqqmEDTPzEXNZFsoy2ZJEtk2vlYDhNjNTMS8QSgy+P0Nt5lJ?= =?us-ascii?Q?BStqFKXI8E1szeAwGYltkMjXfyus3y9+okzwZ2iJBAeYyz/db0Z9P/l35bzE?= =?us-ascii?Q?TZ4tTYuKTf1NVEc6FUyESPkLT8cQxZPUEHQuhaw5pQgD4oungsKhkDF6kWwU?= =?us-ascii?Q?rNrITY4G1NZoK2zYD9y7rwS+sY6eOi+M5C3fqR9t5tzlzGs1jRx68TvGkTAr?= =?us-ascii?Q?6nOHpX56Z+GsqpkFbrkN0BU4BB5vkY4943z2DG5B3NW+8dlrmxRyBpJn6dcu?= =?us-ascii?Q?g4UJIuCEqYpibxVrEfEIQt1KS0BIdEnvUkuJGr8+hHfYZVgcwsAYhO1eIJFt?= =?us-ascii?Q?dnj6E2AhzF6CBbyUAbyAkNvbu578XGzI5be8Rc3TW2JlYMB7wb1o9hhOTunV?= =?us-ascii?Q?8imdnTIRdcSq6X/FUoClPMF4V+ZKFXRuzzseUAXPNvqqP/LAggga+8RyntUj?= =?us-ascii?Q?lp2DZGnJGfpWQIouSrjMiK77KJdO4yz4n78uUV3gEHxJXZmU2taB0o76oTN/?= =?us-ascii?Q?79WliEnRZnBmdB24KnQSB2qzN1/QB/wnm+hxKKBBoKDJJdvVbTXWQdgvvqnL?= =?us-ascii?Q?rW5al67aVpwSldQXq/KbUlX+VrvBoa54WrpwirZZoaIYT44lp/cn3E4LAtG1?= =?us-ascii?Q?AvSW97lu1p4jIMXp62T/vuqMv/cPpYDNlezZeFTO6bjYQp5DXaddRld6DRiN?= =?us-ascii?Q?QuskANMzJ4jwlZcVZGCFFTOmIwjohZ4Mdnd+q/Zu4+0aaOAwOPnXFEeuz9+o?= =?us-ascii?Q?bMbWrKRKCSRbfU6zznUBEdYWYIZJqGdCqw1Gfx1gAm7EV+dJ8z87cZZx5gsB?= =?us-ascii?Q?0TAvluLbLdnpwe1yBis5UUgzcsMNp3DAtXc0n3qosE+ZZiek+slgMgQSIagO?= =?us-ascii?Q?UYHZ8CNIEnhD1C4BSojq9xtYlLx9IM/sEev+5j6jyOj5ls9xFeMeYyfre8cT?= =?us-ascii?Q?JQtj2t0OM4Al7s/YDsx/bHnzZM5JlNxxAWr0+abS5UbW7h8BO05p1K70inmD?= =?us-ascii?Q?Zdg2Vd4+0Y1hIat4ETSI9iAzxzZwizAPXRXhpZr0gEKxIUBYGExnfC+QvBfS?= =?us-ascii?Q?RScmE/GOtPclY5MxeoDpmqOIdHNW3n4ydRyhFLs5EIiBPzf39nTDqHW6SYea?= =?us-ascii?Q?KXelokCPtjpMtsx7uQ6hU60YwtSjFlvRyYQHJbXAfgqP3fIf0iMQfdWUwNK1?= =?us-ascii?Q?9R4OATtyt9nMgmzr8ZdZF+bYDN9TTDu0sSb2Ifox40c9UAVeVM5CFArpTY8u?= =?us-ascii?Q?PVHBkWv/ne9vhegB+PFP6DyoseUjNnJnmcMdykrlPTZr12HWY0isZn/dLRwT?= =?us-ascii?Q?W01dyiCNv0Sn4aO1pgU2xlQTViewOqB8wUG91JUOJPQK0GPKAwFOUxRIho0T?= =?us-ascii?Q?YC5xZA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 623efb96-145e-47f4-b3ef-08d9f6fcaeaa X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 18:45:37.5062 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WrIRCpecwp57isYmRe/YDxt/N+ygcTzW6wGB2Gb4tloqYn+PWhselJ3yRa+zwmSzj1QJCxHEFPrcBvAp60hmC3QtHF6SLzYA3EQAJ+C+QkM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4144 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10267 signatures=681306 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 bulkscore=0 phishscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202230106 X-Proofpoint-GUID: P6llAkwwjImp_lEDB2s_v-wf8yYgIZ4l X-Proofpoint-ORIG-GUID: P6llAkwwjImp_lEDB2s_v-wf8yYgIZ4l Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.177.32; envelope-from=joao.m.martins@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S . Tsirkin" , Richard Henderson , Daniel Jordan , David Edmondson , Alex Williamson , Paolo Bonzini , Ani Sinha , Igor Mammedov , Joao Martins , Suravee Suthikulpanit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @oracle.onmicrosoft.com) X-ZM-MESSAGEID: 1645642298409100003 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It is assumed that the whole GPA space is available to be DMA addressable, within a given address space limit, expect for a tiny region before the 4G. Since Linux v5.4, VFIO validates whether the selected GPA is indeed valid i.e. not reserved by IOMMU on behalf of some specific devices or platform-defined restrictions, and thus failing the ioctl(VFIO_DMA_MAP) with -EINVAL. AMD systems with an IOMMU are examples of such platforms and particularly may only have these ranges as allowed: 0000000000000000 - 00000000fedfffff (0 .. 3.982G) 00000000fef00000 - 000000fcffffffff (3.983G .. 1011.9G) 0000010000000000 - ffffffffffffffff (1Tb .. 16Pb[*]) We already account for the 4G hole, albeit if the guest is big enough we will fail to allocate a guest with >1010G due to the ~12G hole at the 1Tb boundary, reserved for HyperTransport (HT). [*] there is another reserved region unrelated to HT that exists in the 256T boundaru in Fam 17h according to Errata #1286, documeted also in "Open-Source Register Reference for AMD Family 17h Processors (PUB)" When creating the region above 4G, take into account that on AMD platforms the HyperTransport range is reserved and hence it cannot be used either as GPAs. On those cases rather than establishing the start of ram-above-4g to be 4G, relocate instead to 1Tb. See AMD IOMMU spec, section 2.1.2 "IOMMU Logical Topology", for more information on the underlying restriction of IOVAs. After accounting for the 1Tb hole on AMD hosts, mtree should look like: 0000000000000000-000000007fffffff (prio 0, i/o): alias ram-below-4g @pc.ram 0000000000000000-000000007fffffff 0000010000000000-000001ff7fffffff (prio 0, i/o): alias ram-above-4g @pc.ram 0000000080000000-000000ffffffffff If the relocation is done, we also add the the reserved HT e820 range as reserved. Suggested-by: Igor Mammedov Signed-off-by: Joao Martins --- hw/i386/pc.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++ target/i386/cpu.h | 4 +++ 2 files changed, 83 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 360f4e10001b..6e4f5c87a2e5 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -802,6 +802,78 @@ void xen_load_linux(PCMachineState *pcms) #define PC_ROM_ALIGN 0x800 #define PC_ROM_SIZE (PC_ROM_MAX - PC_ROM_MIN_VGA) =20 +/* + * AMD systems with an IOMMU have an additional hole close to the + * 1Tb, which are special GPAs that cannot be DMA mapped. Depending + * on kernel version, VFIO may or may not let you DMA map those ranges. + * Starting Linux v5.4 we validate it, and can't create guests on AMD mach= ines + * with certain memory sizes. It's also wrong to use those IOVA ranges + * in detriment of leading to IOMMU INVALID_DEVICE_REQUEST or worse. + * The ranges reserved for Hyper-Transport are: + * + * FD_0000_0000h - FF_FFFF_FFFFh + * + * The ranges represent the following: + * + * Base Address Top Address Use + * + * FD_0000_0000h FD_F7FF_FFFFh Reserved interrupt address space + * FD_F800_0000h FD_F8FF_FFFFh Interrupt/EOI IntCtl + * FD_F900_0000h FD_F90F_FFFFh Legacy PIC IACK + * FD_F910_0000h FD_F91F_FFFFh System Management + * FD_F920_0000h FD_FAFF_FFFFh Reserved Page Tables + * FD_FB00_0000h FD_FBFF_FFFFh Address Translation + * FD_FC00_0000h FD_FDFF_FFFFh I/O Space + * FD_FE00_0000h FD_FFFF_FFFFh Configuration + * FE_0000_0000h FE_1FFF_FFFFh Extended Configuration/Device Messages + * FE_2000_0000h FF_FFFF_FFFFh Reserved + * + * See AMD IOMMU spec, section 2.1.2 "IOMMU Logical Topology", + * Table 3: Special Address Controls (GPA) for more information. + */ +#define AMD_HT_START 0xfd00000000UL +#define AMD_HT_END 0xffffffffffUL +#define AMD_ABOVE_1TB_START (AMD_HT_END + 1) +#define AMD_HT_SIZE (AMD_ABOVE_1TB_START - AMD_HT_START) + +static hwaddr x86_max_phys_addr(PCMachineState *pcms, + uint64_t pci_hole64_size) +{ + PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); + X86MachineState *x86ms =3D X86_MACHINE(pcms); + MachineState *machine =3D MACHINE(pcms); + ram_addr_t device_mem_size =3D 0; + hwaddr base; + + if (pcmc->has_reserved_memory && + (machine->ram_size < machine->maxram_size)) { + device_mem_size =3D machine->maxram_size - machine->ram_size; + } + + base =3D ROUND_UP(x86ms->above_4g_mem_start + x86ms->above_4g_mem_size= + + pcms->sgx_epc.size, 1 * GiB); + + return base + device_mem_size + pci_hole64_size; +} + +static void x86_update_above_4g_mem_start(PCMachineState *pcms, + uint64_t pci_hole64_size) +{ + X86MachineState *x86ms =3D X86_MACHINE(pcms); + uint32_t eax, vendor[3]; + + host_cpuid(0x0, 0, &eax, &vendor[0], &vendor[2], &vendor[1]); + if (!IS_AMD_VENDOR(vendor)) { + return; + } + + if (x86_max_phys_addr(pcms, pci_hole64_size) < AMD_HT_START) { + return; + } + + x86ms->above_4g_mem_start =3D AMD_ABOVE_1TB_START; +} + void pc_memory_init(PCMachineState *pcms, MemoryRegion *system_memory, MemoryRegion *rom_memory, @@ -822,6 +894,8 @@ void pc_memory_init(PCMachineState *pcms, =20 linux_boot =3D (machine->kernel_filename !=3D NULL); =20 + x86_update_above_4g_mem_start(pcms, pci_hole64_size); + /* * Split single memory region and use aliases to address portions of i= t, * done for backwards compatibility with older qemus. @@ -832,6 +906,11 @@ void pc_memory_init(PCMachineState *pcms, 0, x86ms->below_4g_mem_size); memory_region_add_subregion(system_memory, 0, ram_below_4g); e820_add_entry(0, x86ms->below_4g_mem_size, E820_RAM); + + if (x86ms->above_4g_mem_start =3D=3D AMD_ABOVE_1TB_START) { + e820_add_entry(AMD_HT_START, AMD_HT_SIZE, E820_RESERVED); + } + if (x86ms->above_4g_mem_size > 0) { ram_above_4g =3D g_malloc(sizeof(*ram_above_4g)); memory_region_init_alias(ram_above_4g, NULL, "ram-above-4g", diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 9911d7c8711b..1acebc569b02 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -906,6 +906,10 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define IS_AMD_CPU(env) ((env)->cpuid_vendor1 =3D=3D CPUID_VENDOR_AMD_1 &&= \ (env)->cpuid_vendor2 =3D=3D CPUID_VENDOR_AMD_2 &&= \ (env)->cpuid_vendor3 =3D=3D CPUID_VENDOR_AMD_3) +#define IS_AMD_VENDOR(vendor) ((vendor[0]) =3D=3D CPUID_VENDOR_AMD_1 && \ + (vendor[1]) =3D=3D CPUID_VENDOR_AMD_2 && \ + (vendor[2]) =3D=3D CPUID_VENDOR_AMD_3) + =20 #define CPUID_MWAIT_IBE (1U << 1) /* Interrupts can exit capability */ #define CPUID_MWAIT_EMX (1U << 0) /* enumeration supported */ --=20 2.17.2 From nobody Thu May 16 00:10:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=2; a=rsa-sha256; t=1645642585; cv=pass; d=zohomail.com; s=zohoarc; b=Mvsk+llWWeRMojc6RP5z0rhkRxfK1orTSQQqwuapw+Si3DopxhSVAGyDC6bNQXdSvVlMbIr0M8lPA8omtx6opoIFnOpKpIYicbbzxLMuTpw+znNaoJWo563Fma2opJ4IXtKMNKwhEAY6GmOu7PzQaLE3UWGmuDQ+nr7PVoQLfDs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645642585; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZrZvUmqa5K7bLhDaPLAGhqgKckpZ7KlJEO3ZCnriE1U=; b=DIKhAdOpTMZosveEGGKpCU7RsHF/nyhGSQja963i2n0AhZDT7pAU6tCg+l4/vwlwIIjal/l87UAk04JqUCV5dv+xHJo5oPxbTT8u5FG7f/+JUP0cg8Ce7QgKQ2oRkN/LBSY7bV78TjkfjPv+n4hmYbp2HpEcxE81CwvXdeP6pKU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1645642585324843.3303086380638; Wed, 23 Feb 2022 10:56:25 -0800 (PST) Received: from localhost ([::1]:41310 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMwoK-0001fM-97 for importer@patchew.org; Wed, 23 Feb 2022 13:56:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41852) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwe6-00030X-7l for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:50 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:64054) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwe3-0008E8-Kh for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:49 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21NIDsLh001897; Wed, 23 Feb 2022 18:45:43 GMT Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3ecv6ew162-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:43 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21NIam9J147039; Wed, 23 Feb 2022 18:45:41 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2106.outbound.protection.outlook.com [104.47.58.106]) by userp3020.oracle.com with ESMTP id 3eat0pxvr8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:41 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MN2PR10MB4144.namprd10.prod.outlook.com (2603:10b6:208:1d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 18:45:40 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406%6]) with mapi id 15.20.5017.024; Wed, 23 Feb 2022 18:45:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2021-07-09; bh=ZrZvUmqa5K7bLhDaPLAGhqgKckpZ7KlJEO3ZCnriE1U=; b=Fk7WW/jAc/jDpttTlGNGEAhOqV8e1K1U13ZgwdW0G+WRPsV162Q614hkpDh10KYeJkyr VbljPxVgPuqSIg4KxcZA6AAhHN0VJ8V81eH74U44AUIj0VkBwENQLNjhROYjGyJpcW9x FO5+nir0EY6cPTbslwr5+U8PK3i4ZY+fQIXOMY2KH0ZFbDWzI55OsUzbTSTL6Z/Vv+hf V56o9WMBP/t4awSgbVR8xuEgVM9VlRQrXC3zouQj7Iuy2lSck3sm4JCJ/19SDA5Xce01 oGL3WMXsYA1jl65Fe3STuj3UpXopZOQmUywVRnxSsWSs26oxqwh9FakTK5zCzQ28/yJ0 sg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oZ8tYjiK8vEtVNOiv9eGr8WPuW8sYu52kH7M6jvZdYjA8VMVhng/uclZHk7HUOtxvzrFmAuuSXq9ZWL+cDyud0OmizJvwHuDaxPxe6si4cdLDOkSH1iB6+0svPe3Pjba15e7D64RdxdfXYiJmoT1t49oDn96OYFHlrPob9AHKtyoqoglTE6BuDjyTwJ+pxM8RXvqz9FjO55iaOTRLRyttQwubMYz54OhaiU6+9zUAJS1p/UbsD3Ls32PTkpotD5pzmk2Sulx0DC3UoATsq+OCkLgQ6j+uCmxApmpafi6GH672DuSXemgMo1Ujlw7c38z1XD06i24lluzNFPUGdTXHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZrZvUmqa5K7bLhDaPLAGhqgKckpZ7KlJEO3ZCnriE1U=; b=VQz3Y7ObuKCH4tp2vL0xLRdiA5DEX56yHpYp2U+CM4m+WefeTVwai4pCRRG+FSS16bjp7VZDhg5z1qDFDcIF6sJ5rvTtnKw1J6XnWk/MGvMddRq4pk2blwJK7SYMIIG7Z3ELN/PYTxx/cboeR7KXHUKtfTIy0CD9BmwK9Y2/b6NJ+5w/sWJXQngaKDkL+SIeRLBhyQBWRq7BXHE/7xD7o7Ml/cbTqzJqh+g+SmBw/X81uXkHj7e1R+QMK7GVsUHCdgMrMFDGDq0sKOYR2MZC26tlvAlyv6mmOOjsM/hK/s0UNISdggN++4suyj2w3/RPdun5/VcmPEYbZRjH6uMwiw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZrZvUmqa5K7bLhDaPLAGhqgKckpZ7KlJEO3ZCnriE1U=; b=MjI35gwD1+sbdRTYwQwEEtwJVzmyvHCE8DS3/AEKigLV2hLrNvakRDa/n5mfbZEEBleLNV/jRnnJdd9S4S70GMBs8cNCn2nmlOCuevWUg/E3by9GUqpkUQ0yawx0VPsz0upiYezgH5AANz9KWegLzPwig8VLCc2wKYKOMnvBW4A= From: Joao Martins To: qemu-devel@nongnu.org Subject: [PATCH v3 5/6] i386/pc: warn if phys-bits is too low Date: Wed, 23 Feb 2022 18:44:54 +0000 Message-Id: <20220223184455.9057-6-joao.m.martins@oracle.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220223184455.9057-1-joao.m.martins@oracle.com> References: <20220223184455.9057-1-joao.m.martins@oracle.com> X-ClientProxiedBy: LO4P123CA0332.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18c::13) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a9d11232-de74-4cd9-1331-08d9f6fcb013 X-MS-TrafficTypeDiagnostic: MN2PR10MB4144:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w9GkXHB7RBTOwaLV/JC8wGRk9JPKJa1N0NH1IcVHQUS7vmT8jzxORuMJFD826t62TlP9DZbadUgUn5B1dwLiXBcxNpli4BvVMv0EXDguHgKoOwiZIw5Norotjo/X5QMkCT9wBgUWIRiCu4a29e++r+iGlSXV0h7JzwB70GoT4kB1KXFThWv98fdgM+KcRyVysqA3la0Ywd/G9CIZ1AGwjPKajMbITsLuuq26xe7HY8/rxrujT8v565dH3DohfxNUPMdS1Femy+oCJtPQ27R5Vd/dk/ZcPXdYRInk3ZvvcMqQFu7gp0fk3zAbGIT8eHpoz3oxVLNtAetI5Fl09jNkIAfF+CkYCMk072BWgMdwsIPAZ18b3YcybKHUJL/um+ra0wa9Idu0n9cC9hgKkHBtHiDt5IDCGGcMdTBKoNvxuVMJpAJxQRL8DzxSCvsWqDLHpIzmI6q+eCz+dsRCy5twmFX8BLHeZRdS9NLdO7VZsxn5rwGh9J0Xzs3VSW6eoe7AHclF6EgMeEZNMb686m4Lw8n8Aiu88O+yOXGaacg3pq9uY7P1f97QIpiI05fxtndCDQvEr2vYxQGpRVZxlwCQJaYze8IiZCDLwmRI3gnJ4xZp7IIcTi1zxO5rCcoHnhtGRPTvznjK8IRpvahRYPgODAe4zKrobjW/eLtm39/8alvWyOyWwd5xkqu4oHgJc27GjsSAI4+bG8QNpvnck1TBsw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB4835.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(6506007)(6666004)(66476007)(66556008)(66946007)(83380400001)(4326008)(6486002)(103116003)(36756003)(316002)(2616005)(7416002)(86362001)(38100700002)(38350700002)(8676002)(8936002)(54906003)(6916009)(107886003)(1076003)(186003)(26005)(52116002)(508600001)(5660300002)(2906002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7NX0HTK23B49iqBwlbW6Ver0jbU0nxU14RG58J5l50/Xm8zXJ2fU11KFmmdK?= =?us-ascii?Q?B3bed4rWAfcMqYo/Vl1YqNWjb3WybPfEdynzDZlgNgw1NpotNlIg46w6g2rh?= =?us-ascii?Q?UW6nXGOrzQNVfB6z0AQ3Q3GTnoxzQn5LDg4Ixuurs/U/yjIFfU4UxAFxM3qq?= =?us-ascii?Q?WlnjZdxz4eZIXpJyXy1UGMMkwQrGRYpndciT4dSqXGbisSoJFQbZJ+JZ+AII?= =?us-ascii?Q?g6MEY5j04QFxun3j3RTwIpjddGr0AFwe3oG9susRoGCShI7a0Ku9AOUs3xaz?= =?us-ascii?Q?VHSo5+pxIHB+kW4qLtVl4cNJaafk96LKrlQd6wOCOSz36qgUBoBaxrpgB+VI?= =?us-ascii?Q?0TA/IJyIvmZoBNwSzetJy3K0a7e6VQEUZX/jak+IkGVLvEt0qYqlMtbLSy9v?= =?us-ascii?Q?CixmRFFEfwyk5/bum8jaGa7K3sn5opJMkQGST451s/vDpwRevWloZCU4BnLS?= =?us-ascii?Q?o5dBKXLTY4eWhBqIN6c+wRQSxVstx2kp+f9r2T8or8mqc4xZfPGaBy8Sclkv?= =?us-ascii?Q?ly1fIMaW1QrCMJ9kHi9iHClKgxj4ysL6a6E4vthobmtuhOcq2T0+g192foMm?= =?us-ascii?Q?f6C2TUy36WgG/F/KZoDATHHZGhfdwl1sftise+16tnTqQQWDThecklDN1kbr?= =?us-ascii?Q?puyOnN2HKRBVuFaeHZzABAVmXGVZaAF2ETEV+uV5iVS/tn/17MGoFA0MIzkI?= =?us-ascii?Q?rVYUaVOIiSCiDYk/1jkoB+pgDUEUE2eNRlzuVjFiQj0swcSVMXfzrT7cDjMY?= =?us-ascii?Q?2qLMzqIlU6ATfvgAiqTYGv9+9RtR6rfdvqKG63FSDkHnXiqGHB5dmpda5+eu?= =?us-ascii?Q?CGjSgKQ5TxWsf8nRenTYE3frYYjZVhjpRj6E5v+FKwfT+QKeDqRqNjXP9+Ei?= =?us-ascii?Q?58J2r6YvCcycJK8iDiiC0z2INac0bGZT4NyHZWHopPgfYxk/sWs0r2ku9aDq?= =?us-ascii?Q?9t5pz0udJPaL7CYc6moVI1iy2NfEsz/44RSkik7xZhrtYQXeQaDd35EUuUvQ?= =?us-ascii?Q?2GvR2z5jAMa3FK0L7MqFdFNs1+k7BTrJzxjXtCYkF7vf99ucv/0iVt6dmSCz?= =?us-ascii?Q?/i73LMvQtbrLczHbSO47n1K5KzttBPC5ow6jKPYPl25vuM+ReSny9gvT3BXY?= =?us-ascii?Q?GFnnBuoS+/muThEbWiKE/Z4n94kqMwFr1G53Gtr2MUSqRgMhar+gw9TLWaCy?= =?us-ascii?Q?gY3KaqgAvdeytoM7xgUwr0VFh2GeVmY7eKKG8GwwAQJsWTdIjrMyi3yVDvE2?= =?us-ascii?Q?08eeDEPoGbSzJrlH235/QWu+RfaTxoGkK9RhNeDNCmSYsRZn+9kuT77KwLBv?= =?us-ascii?Q?p2eXlOKJV+ebV4f1rOxbhzolF1sJ85gqjSBbPv3S7VpjVI8pMPtcZDO1RiiP?= =?us-ascii?Q?HM5m6lPQ/rEjrWCTmx9i0hLiKSgt6n3jRsNT8QIXZnSwxeWW42RPYDkZ+63Q?= =?us-ascii?Q?/QqGArbzLbngeqeMo5dY5HMSPn76zwqVS7DNQB3Ri1YQluqDDrMKmtabcW2d?= =?us-ascii?Q?Hn55TFgmsivJNgw5j0uxMFfOg4xt+rL19E011Q4Uc0Iu0y5e1UJfmW0gYVJI?= =?us-ascii?Q?qEl80GR/F6KAVsebzroK/SArSdHKgZ3FrFFOEdhB8asrsFgS3Xn/bbT+gX6l?= =?us-ascii?Q?59v6QlcmU66/chrOz3H9zcEj29s8tg+li5UJqkV6xESBw3mQJXu8Qf4ygETh?= =?us-ascii?Q?W0Vg1A=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9d11232-de74-4cd9-1331-08d9f6fcb013 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 18:45:39.8847 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3wAWGragCswHeQw+3Pu15yn20scW0qLt8wFDRTVZFdr2Kxl8GLkJBymKUn+g/Ghlx9c6+mnRlHmqwjkrWsOVIYw3BzY5n+aCHipmEj3FL4E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4144 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10267 signatures=681306 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202230106 X-Proofpoint-GUID: XGMmqNa3VzADPDGOb8jyCaOKwsxYOBRE X-Proofpoint-ORIG-GUID: XGMmqNa3VzADPDGOb8jyCaOKwsxYOBRE Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.177.32; envelope-from=joao.m.martins@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S . Tsirkin" , Richard Henderson , Daniel Jordan , David Edmondson , Alex Williamson , Paolo Bonzini , Ani Sinha , Igor Mammedov , Joao Martins , Suravee Suthikulpanit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @oracle.onmicrosoft.com) X-ZM-MESSAGEID: 1645642587655100001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Default phys-bits on Qemu is TCG_PHYS_BITS (40) which is enough to address 1Tb (0xff ffff ffff). On AMD platforms, if a ram-above-4g relocation happens and the CPU wasn't configured with a big enough phys-bits, warn the user. There isn't a catastrophic failure exactly, the guest will still boot, but most likely won't be able to use more than ~4G of RAM. Signed-off-by: Joao Martins --- hw/i386/pc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 6e4f5c87a2e5..11598a0a39e4 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -888,6 +888,7 @@ void pc_memory_init(PCMachineState *pcms, MachineClass *mc =3D MACHINE_GET_CLASS(machine); PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); X86MachineState *x86ms =3D X86_MACHINE(pcms); + hwaddr maxphysaddr, maxusedaddr; =20 assert(machine->ram_size =3D=3D x86ms->below_4g_mem_size + x86ms->above_4g_mem_size); @@ -896,6 +897,15 @@ void pc_memory_init(PCMachineState *pcms, =20 x86_update_above_4g_mem_start(pcms, pci_hole64_size); =20 + maxphysaddr =3D ((hwaddr)1 << X86_CPU(first_cpu)->phys_bits) - 1; + maxusedaddr =3D x86_max_phys_addr(pcms, pci_hole64_size); + if (maxphysaddr < maxusedaddr) { + warn_report("Address space above 4G at %"PRIx64"-%"PRIx64 + " phys-bits too low (%u)", + x86ms->above_4g_mem_start, maxusedaddr, + X86_CPU(first_cpu)->phys_bits); + } + /* * Split single memory region and use aliases to address portions of i= t, * done for backwards compatibility with older qemus. --=20 2.17.2 From nobody Thu May 16 00:10:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=2; a=rsa-sha256; t=1645642670; cv=pass; d=zohomail.com; s=zohoarc; b=RasFJdMDSayMbx6hL6rLIQsIF5uLjR64cSzS9A+CAxHMnLYRpJEmFCtgn8IbRVYNfFsjQPq4q0kwE79LLcRJcd+LTPrSVmO5jzU6iMjpgwv5w+N/NvHS2dIb5D7utapH7N93XQPq+A2fPyuLchyljjpk7UtLPR4j+SENj/6WUAU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645642670; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Xo0ghy9Lm9jEwG11dPPFgyR3HUL5YANg2GKkAN8LDW4=; b=depJjh5OYXfGIFzLZfLABDRFiVDjmi5QKbLT4ojro7SWDdmXF4B5g16GOV2MRWqZy/cvI39CTTLeoZDn34n6zMOSYOvS+WloerqJ+6AibB4WK1gDEd11JyM7zCxC3GuVeHd6BN0MtfY9pPjDQzFVR3HZq0xK+h+R7PNTFb9L10U= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=oracle.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1645642670986803.4266569069139; Wed, 23 Feb 2022 10:57:50 -0800 (PST) Received: from localhost ([::1]:46734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMwph-0005M5-MZ for importer@patchew.org; Wed, 23 Feb 2022 13:57:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwe9-00034c-Id for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:53 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:59674) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMwe6-0008EI-BV for qemu-devel@nongnu.org; Wed, 23 Feb 2022 13:45:52 -0500 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21NIELY2006537; Wed, 23 Feb 2022 18:45:45 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3ect3cn1mu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:44 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21NIav2x048581; Wed, 23 Feb 2022 18:45:44 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by aserp3030.oracle.com with ESMTP id 3eapkj2dr3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Feb 2022 18:45:43 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MN2PR10MB4144.namprd10.prod.outlook.com (2603:10b6:208:1d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 18:45:42 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::750f:bf1d:1599:3406%6]) with mapi id 15.20.5017.024; Wed, 23 Feb 2022 18:45:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2021-07-09; bh=Xo0ghy9Lm9jEwG11dPPFgyR3HUL5YANg2GKkAN8LDW4=; b=sjxIRfK/UxCgw9Q0OnAyn5oLbY6vq8PcecddQdDfgieQaoEOgB1ArO2uhrGd0k0+iu93 MnKu0kL1+nUjj4erTFGyS5NpQbW/LqIX+bGPlnf/W9sHt+qkMd3EO0x399RRCPzQ9byn 2DS9vCQ+FhJY85v9ScyjVHZi2fMIUGaZ4ndbjzUtfwE2OvER2DKdRXQbUz+/iIU9X4zT 9kveyjG0KIvvLytfKKqpAMVdnUrO1u3+VZmgVESl0cuA+PlLvT6dOVyyonRXHH3lV5lH 7nyMZHDwE3U0gEOVhcA2gwd8NTTL/Iw2HCEY5w2aQJUSqQddgT/71/XpeDmHA7jnAyJ3 ug== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k3HIhtB8G16Mz3VSNMpfK5OQ8onHxva33pGDktrQ2lVLB20et9D18CEJGY7501ELyvGUos36W9F4rKjHfFNCIMUhMz0Qbi4nzh1wQ1LDhws2hYHdBdCkU0A32H29XojNJcxiA410HKwkWsr7O6roeIe33thGpxGPicgjrZ2rYJ0cf0c+dzMLtBs0i8uk88zfPvuz4ojp2FmowdmwZTwyxHFrwrBXWt5DpQ/L4SaEDwTdq2jdAHr0FBHYO9r7EFnwehzKWpaFvtTK3qKnejRcmrwETPAtAAWdG1i17X6VTV9TR9ps8VCQ7fCRq34280+L7HUNXUgU2jYJASRXgvccOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Xo0ghy9Lm9jEwG11dPPFgyR3HUL5YANg2GKkAN8LDW4=; b=LpSDh97lVo7keji4rwf+0Ayt/JCczNxkY5cISSUbmY6WzexQMj9Wa8bRrdBXpVmnv0qFG7E6rjhpYM7rYfvQwwKNNDeb2CVsIc7pNJqfWPn0F3Bl24H6826f1nufvVuEADsPoyFVcqHDTDZdQmlGxHmU4Cd+ruSAeEk/tqEHWlM1x25ZSyHTiWrKWZ8u7BHAgSalHbCgkQ2mJm67RyHh3A3PlU+WKuNukzehsOhr0AEOhjLdbIy6FbR5lb6Xhlx90gs/wBqk2D1+HnnNey3dAc2B4ACuy5uZwO/c7rATzSCgxcCT/WNJtP1yJrd4YNXJNM83y0tuz+lGWah5EE1D7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Xo0ghy9Lm9jEwG11dPPFgyR3HUL5YANg2GKkAN8LDW4=; b=zI+GxQSUYPWXc8NbbrZzYZkaFCHpW0k+LMpt7SHSWVU+0OiFmGLiGZ0g4FhI9eBhlyPUH9GmVHXFMhRUqynqOtgGFNnNuEGnxP+4KuJvVDX3Y95/5KFUf/C2TdgWpHCZvZfuSwbZPgfk3/2vgJxkAM0KHYOiA/Y69D/U8U4Xw2M= From: Joao Martins To: qemu-devel@nongnu.org Subject: [PATCH v3 6/6] i386/pc: restrict AMD only enforcing of valid IOVAs to new machine type Date: Wed, 23 Feb 2022 18:44:55 +0000 Message-Id: <20220223184455.9057-7-joao.m.martins@oracle.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220223184455.9057-1-joao.m.martins@oracle.com> References: <20220223184455.9057-1-joao.m.martins@oracle.com> X-ClientProxiedBy: LO4P123CA0332.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18c::13) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b7cfd879-7af1-406a-a274-08d9f6fcb176 X-MS-TrafficTypeDiagnostic: MN2PR10MB4144:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KdYqQzuLgJq4b/UB+27KTVjoYnpoTactodGdL1MUfJbqXI05aXpemw0Li/zDiI/yHnxLHmdhzDlRrpmEBJxhN04sX1P5PDrJDN9I0VoJ4n/chhyfHuRN1gJ2Tts4yIVJxDCHpcOLa+1oHiRwx4cEALOomK/bFqVcvPo6Ywj22gAiVnEbIH6lvEcUQWZv45TUuHaB4OjtY6pYpsAhQ+NGmV4oK5d+739heAhbfG5kwbLNrS6CZqDWezybDPwWWIDASR+r4OGZr9nor36Np7GXeO/unUEzAGvQ6Yt/13cOpyNfwn4NmmHTlgwHgmDHYH9rIXASTZasSt1ikPnQzuQ7CjsPEeMFF8xBsuvGdr9uPR7xm80z+gAYJ+ubNxqnFPjGZDIGF5rK3veUHJrLmEYsR96QBkAP9MtviaMB7ebIP+4ReHkzf15/0A9rYZwOuy2u1ZS7uBJtYOmWMPKfmeicrp6zVqctOAoDKk7/wEhUuWmCVnuIKSKwMIt9KHZ2la37HMbzyO+s8E7NZuo9dY/BvBF0uM2YWDeLPCH9+K+4DfuUl8Mf4A2gBQRBUuO3kNGwN2EH0ZKkJos8zkz9uvYIxdIPeNMWQel4tbzClSBPU+UhKqUFbImU3+dHaf7Nw/7N5MVcmrotO6hPNVfD9PfHDsGDkS7qBmdHc3fl2MS/MwGK81kPUaEhMW0nvLUg+SR8PBUHF3mA0N3ZIP0di8rFVg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB4835.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6512007)(6506007)(6666004)(66476007)(66556008)(66946007)(83380400001)(4326008)(6486002)(103116003)(36756003)(316002)(2616005)(7416002)(86362001)(38100700002)(38350700002)(8676002)(8936002)(54906003)(6916009)(107886003)(1076003)(186003)(26005)(52116002)(508600001)(5660300002)(2906002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?B742zwbnliWV3DhUbE0liX2g1bgJeNWV2xkdctFOEISa21XS52618uka10Tu?= =?us-ascii?Q?S2F7tkbznbTjyoTtE2yQ9UhddwU6Q3d5dzdY8vZzEiT814yHSXEKCQKNS3O6?= =?us-ascii?Q?APam0JmijQ7QA/PNFdRFSKz5rV0ebPDFiDTpfGuBPV1L+HCcqQ115xYssC59?= =?us-ascii?Q?V8+j74ma4hxmbWh34aXDlYWAK4woSS0Sz1DSOzGVNEML8ZA/ew9WIGchfLuB?= =?us-ascii?Q?4VSm/u9hBo5pxdGUilm6o1CGYU0MbOS3x6IfJtI8xll0rz0a0QREMbcL9yQw?= =?us-ascii?Q?mGNEZU8MwOb0qD4r3Lwirmvf89ATVxLmRmpbUJiYSspaX730rEc4popRaZzH?= =?us-ascii?Q?bqFtX/x99Lnic9kQRNUCgZbxN9rqFbr5yeLXHdUb2p0V5WHKJ9FUVqQ4EE7T?= =?us-ascii?Q?jXCbSrL/qzrocDHhIeByeZvzFxAvSQKTBM1940cU4IidhADgL0JNuNKn/BJJ?= =?us-ascii?Q?62JVQFy6AgjinvwCHndrcN3zdG6FX/AgiUHLdxdkANTdSezZzemvvm1j0pup?= =?us-ascii?Q?f03gYsokAzuVF+HjM5QKsirfkdFPwQkIoJp/aUiNWr5HFsfq6BpboerhLQhV?= =?us-ascii?Q?7PyE39/wfrKiv0bnw0hV1BDaYGYkiV+HL1xhOj6vPCFIvvKNLZR4u77hA+Jz?= =?us-ascii?Q?hwiP9iNRCTVFH8FrnWGOAoimdAHA/TqsRRoQ9DxLw2smofzauh7iVW015//O?= =?us-ascii?Q?Yaz0WyTMXsk0XLNuFL+vSpoZSW2+Bb7Z72/oB/sQKseyZEa6VrGjWL8NFN0h?= =?us-ascii?Q?i9juVUv61CfFawO12WOkKH+wc8dxTIWTaCoB64RdYjkKlrgje7v/tl4z9bS3?= =?us-ascii?Q?pGWcCmaudOFgqTSGh2j1helKR4TZGc2k23T2G2rcX//gsj7lD+zDS0PBjLZo?= =?us-ascii?Q?jw5aRRzfyGMXeC3U0bpCUadxNG68R+7lNzUe59NlJaGxEXkqhnutj1e5xGxW?= =?us-ascii?Q?juDD/DgKm65DN04vEojaqRQKFVWxrlk4SOlqKBT2918yMO7FgvPvRAY99VjS?= =?us-ascii?Q?M8bOv/yfAltBw1W9CQ2KObUd/tXHcW4Q7Sb8sn4etO3etb4Hr354Hpb3c1TR?= =?us-ascii?Q?Ls1Xs4Cm04g9raplIMkqq/LUdwnw7hsf8AHEStzi4GycEf4vVPl12/6nYoI4?= =?us-ascii?Q?elYRUCeIbYtHejEbcDslVwm98dg/9acSySc9kmcv11t9804XXMxTI9MgQiWU?= =?us-ascii?Q?qF1GteY+dcrlS+C7lAg8mmZohfbN8Cj3FkatVYAto8WtpPWrsJm0xYeZXvuX?= =?us-ascii?Q?c/sK84sZavB+RqrnHX+KD8XPZMGewmHpARCLf/oMXPu+jbI2BZL1Z7itttIl?= =?us-ascii?Q?cRgx4xVC68UqehEF8SJrcCzxL9bkEV1O9bVEoAqhxQmEgS06/g+JtUd/E35N?= =?us-ascii?Q?dWlCO3ix/cHt2v7G61GL4P6VENMq+NpioAn1Tv2njYrV93W1rEwJTUqCLeyi?= =?us-ascii?Q?bO2jra37bKMhIyB08TM7QlQm5B8CRY2KLP9CYGsW8duxVq/q1g73vx5/ekwl?= =?us-ascii?Q?P9b86L9HW2nsPDL2cc0E2ByN1RxCt13TTtI3A1xkmib8uj++Y+Rk9kRBQYG9?= =?us-ascii?Q?cs9z5c1cMmgp6XfhtADuRksrVa8sfpfXt1lFuskZuEHDPHIuogxqpML4lCce?= =?us-ascii?Q?E/OM0Wi0j/zy58DOFQSdgeyCmn2SlayKTH0hebvWgocgyxuLEDniHUZ+FfMi?= =?us-ascii?Q?5XdRzg=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7cfd879-7af1-406a-a274-08d9f6fcb176 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 18:45:42.1356 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: enissnNoeDtwVVna7xnZ6zJnNsxNnQ3mfgBZuzojV6z112Tpd6uBR5UFTR6fnX2QQJft4mnVT7RIqHzieVtPwtQ/wQoeb1dmZyN9bpPuo8o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4144 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10267 signatures=681306 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 adultscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202230106 X-Proofpoint-ORIG-GUID: NZMFhO-7GCuF8sMzBZQ7k1KSLPKMQG-G X-Proofpoint-GUID: NZMFhO-7GCuF8sMzBZQ7k1KSLPKMQG-G Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.165.32; envelope-from=joao.m.martins@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S . Tsirkin" , Richard Henderson , Daniel Jordan , David Edmondson , Alex Williamson , Paolo Bonzini , Ani Sinha , Igor Mammedov , Joao Martins , Suravee Suthikulpanit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @oracle.onmicrosoft.com) X-ZM-MESSAGEID: 1645642672583100001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The added enforcing is only relevant in the case of AMD where the range right before the 1TB is restricted and cannot be DMA mapped by the kernel consequently leading to IOMMU INVALID_DEVICE_REQUEST or possibly other kinds of IOMMU events in the AMD IOMMU. Although, there's a case where it may make sense to disable the IOVA relocation/validation when migrating from a non-valid-IOVA-aware qemu to one that supports it. Relocating RAM regions to after the 1Tb hole has consequences for guest ABI because we are changing the memory mapping, so make sure that only new machine enforce but not older ones. Signed-off-by: Joao Martins --- hw/i386/pc.c | 6 ++++++ hw/i386/pc_piix.c | 2 ++ hw/i386/pc_q35.c | 2 ++ include/hw/i386/pc.h | 1 + 4 files changed, 11 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 11598a0a39e4..ef0a5325f98a 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -859,9 +859,14 @@ static hwaddr x86_max_phys_addr(PCMachineState *pcms, static void x86_update_above_4g_mem_start(PCMachineState *pcms, uint64_t pci_hole64_size) { + PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); X86MachineState *x86ms =3D X86_MACHINE(pcms); uint32_t eax, vendor[3]; =20 + if (!pcmc->enforce_valid_iova) { + return; + } + host_cpuid(0x0, 0, &eax, &vendor[0], &vendor[2], &vendor[1]); if (!IS_AMD_VENDOR(vendor)) { return; @@ -1804,6 +1809,7 @@ static void pc_machine_class_init(ObjectClass *oc, vo= id *data) pcmc->has_reserved_memory =3D true; pcmc->kvmclock_enabled =3D true; pcmc->enforce_aligned_dimm =3D true; + pcmc->enforce_valid_iova =3D true; /* BIOS ACPI tables: 128K. Other BIOS datastructures: less than 4K rep= orted * to be used at the moment, 32K should be enough for a while. */ pcmc->acpi_data_size =3D 0x20000 + 0x8000; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 5a608e30e28f..c322f9494384 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -435,9 +435,11 @@ DEFINE_I440FX_MACHINE(v7_0, "pc-i440fx-7.0", NULL, =20 static void pc_i440fx_6_2_machine_options(MachineClass *m) { + PCMachineClass *pcmc =3D PC_MACHINE_CLASS(m); pc_i440fx_7_0_machine_options(m); m->alias =3D NULL; m->is_default =3D false; + pcmc->enforce_valid_iova =3D false; compat_props_add(m->compat_props, hw_compat_6_2, hw_compat_6_2_len); compat_props_add(m->compat_props, pc_compat_6_2, pc_compat_6_2_len); } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index c81d21d1ebb4..53ed6df1e0e0 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -379,8 +379,10 @@ DEFINE_Q35_MACHINE(v7_0, "pc-q35-7.0", NULL, =20 static void pc_q35_6_2_machine_options(MachineClass *m) { + PCMachineClass *pcmc =3D PC_MACHINE_CLASS(m); pc_q35_7_0_machine_options(m); m->alias =3D NULL; + pcmc->enforce_valid_iova =3D false; compat_props_add(m->compat_props, hw_compat_6_2, hw_compat_6_2_len); compat_props_add(m->compat_props, pc_compat_6_2, pc_compat_6_2_len); } diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index d8b9c4ebd748..914340750498 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -117,6 +117,7 @@ struct PCMachineClass { bool has_reserved_memory; bool enforce_aligned_dimm; bool broken_reserved_end; + bool enforce_valid_iova; =20 /* generate legacy CPU hotplug AML */ bool legacy_cpu_hotplug; --=20 2.17.2