From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by mx.groups.io with SMTP id smtpd.web11.108505.1674841043871601924 for ; Fri, 27 Jan 2023 09:37:23 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ShKntUai; spf=pass (domain: gmail.com, ip: 209.85.214.179, mailfrom: pedro.falcato@gmail.com) Received: by mail-pl1-f179.google.com with SMTP id be8so5724920plb.7 for ; Fri, 27 Jan 2023 09:37:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=zISJ8QjrcSsZSmwKfoxcI49WE7rqnkgPfry91L0vCJk=; b=ShKntUaib5gbKoCsoEQaHgprF7Q80mU7OP4qWHARAPI2g6ybxpMM9+5Oc91+CZGjoR suDgUcVSouPypHPASxKDTPqIcagl42Qn0arRqXjgIA2hB7w/weqiPdNd0gVNg3In3Tfe 9+pOpEkNijf8FofU4jNojEDdOBPiGT4z9HUt2bCIOuu8+Hlkk+LI41ST8t0/JaorBkO5 fOu6/GswzSHwsTphznfmdrgGkA06QJ/C8GG7nDKH0wx6u96kHeff1aBdfXpDoC83Mati 4M5bAyFVizHbp8hAP1bk0NEea0quz9m7OH3ZUzw6Js3fuh9UiUEPdrYZzYOeyd9ZtzSp kIVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zISJ8QjrcSsZSmwKfoxcI49WE7rqnkgPfry91L0vCJk=; b=2TXt3ISRFg9Gtw5heoj7QI2s0DNowRyAO7d4cI9jY+AkhJkN3JugUjmku3zgrtbgSY YQU6HZnO2hUgVWVabeSeQhY8sxlFGp92DeLhopF6QbTRnqaKRMMOSfKXgAMA6z1Ynr6e Kr17lh1VzdOqJzjyrYK95ccJoWrFRioS4v14y+/sk+IdoHH204vv+1yeaUXdawSKVaDa W4/VruBarRjqG78dezVHAiko85palsGAeP8MRibYPmPaNaSZokBMqv9hJV/23S3kf39I qvO2JdaSVMPBzN06nm7tjQWbzgflfAXv/hpQoK9/Q8u0Wj3E5wwFR6Se2ufdNJ62lqro Vumg== X-Gm-Message-State: AFqh2kqMIdK3ERJH+VCQV6X6gftqadft9Upb2S9fSWYWTaFt7taP0Azt /nRVlCpMN/aWdLc9vZp+MJQgFyz6xUc5pGXErhLS42vhkCE= X-Google-Smtp-Source: AMrXdXtQp2xNlfLzK96FW/6CcaYyfEgaJq/T112svMb4qBPnDdOqRFYiEu9WlTY6ZqB0RWJf1wcYdDQPbsa0+RoApfg= X-Received: by 2002:a17:90a:1a03:b0:228:7eed:e756 with SMTP id 3-20020a17090a1a0300b002287eede756mr6572485pjk.166.1674841043140; Fri, 27 Jan 2023 09:37:23 -0800 (PST) MIME-Version: 1.0 References: <173E3AAD68434D4F.686@groups.io> In-Reply-To: <173E3AAD68434D4F.686@groups.io> From: "Pedro Falcato" Date: Fri, 27 Jan 2023 17:37:11 +0000 Message-ID: Subject: Re: [edk2-devel] [PATCH 1/1 v3] EmulatorPkg: fixes for NetBSD compilation To: devel@edk2.groups.io, pedro.falcato@gmail.com Cc: tlaronde@polynum.com, Andrew Fish , Ray Ni , "Kinney, Michael D" Content-Type: text/plain; charset="UTF-8" (+cc Mike Kinney) On Fri, Jan 27, 2023 at 5:30 PM Pedro Falcato via groups.io wrote: > > On Mon, Jan 9, 2023 at 5:03 PM wrote: > > > > EmulatorPkg: fixes for NetBSD compilation. > > > > Note: generated against today (2023-01-09) master. > > > > v3: > > - Macro __NetBSD__ used instead of lower level _NETBSD_SOURCE; > > - The required fd value (-1) for mmap(3) under *BSD is given as is > > with a comment indicating why this particular value for MAP_ANON; > > - Supplementary: mapFd0() is using mmap(3) also, with MAP_ANON, and the > > fd was not corrected as above in the previous versions of the patch. > > > > From 708079397bb35eb50cfb12f7d5f2c66b64177a76 Mon Sep 17 00:00:00 2001 > > From: Thierry LARONDE > > Date: Mon, 9 Jan 2023 17:49:59 +0100 > > Subject: [PATCH] EmulatorPkg: fixes for NetBSD compilation > > > > Signed-off-by: Thierry LARONDE > > --- > > EmulatorPkg/Unix/Host/BlockIo.c | 16 +++++++++++++++- > > EmulatorPkg/Unix/Host/Host.c | 7 ++++--- > > EmulatorPkg/Unix/Host/Host.h | 7 ++++++- > > 3 files changed, 25 insertions(+), 5 deletions(-) > > > > diff --git a/EmulatorPkg/Unix/Host/BlockIo.c b/EmulatorPkg/Unix/Host/BlockIo.c > > index cf2d6b4cda..2eb062b03d 100644 > > --- a/EmulatorPkg/Unix/Host/BlockIo.c > > +++ b/EmulatorPkg/Unix/Host/BlockIo.c > > @@ -133,6 +133,20 @@ EmuBlockIoOpenDevice ( > > > > ioctl (Private->fd, DKIOCGETMAXBLOCKCOUNTWRITE, &Private->Media->OptimalTransferLengthGranularity); > > } > > + #elif __NetBSD__ > > + { > > + UINTN BlockSize; > > + off_t DiskSize; > > + > > + if (ioctl (Private->fd, DIOCGSECTORSIZE, &BlockSize) == 0) { > > + Private->Media->BlockSize = BlockSize; > > + } > > + > > + if (ioctl (Private->fd, DIOCGMEDIASIZE, &DiskSize) == 0) { > > + Private->NumberOfBlocks = DivU64x32 (DiskSize, (UINT32)BlockSize); > > + Private->Media->LastBlock = Private->NumberOfBlocks - 1; > > + } > > + } > > #else > > { > > size_t BlockSize; > > @@ -154,7 +168,7 @@ EmuBlockIoOpenDevice ( > > Private->Media->LastBlock = Private->NumberOfBlocks - 1; > > > > if (fstatfs (Private->fd, &buf) == 0) { > > - #if __APPLE__ > > + #if __APPLE__ || __NetBSD__ > > Private->Media->OptimalTransferLengthGranularity = buf.f_iosize/buf.f_bsize; > > #else > > Private->Media->OptimalTransferLengthGranularity = buf.f_bsize/buf.f_bsize; > > diff --git a/EmulatorPkg/Unix/Host/Host.c b/EmulatorPkg/Unix/Host/Host.c > > index 1f29dd00a3..6a338b81a1 100644 > > --- a/EmulatorPkg/Unix/Host/Host.c > > +++ b/EmulatorPkg/Unix/Host/Host.c > > @@ -199,7 +199,7 @@ main ( > > // > > InitialStackMemorySize = STACK_SIZE; > > InitialStackMemory = (UINTN)MapMemory ( > > - 0, > > + -1, // This value required by *BSD for MAP_ANON > > (UINT32)InitialStackMemorySize, > > PROT_READ | PROT_WRITE | PROT_EXEC, > > MAP_ANONYMOUS | MAP_PRIVATE > > @@ -360,6 +360,7 @@ MapMemory ( > > while ((!isAligned) && (base != 0)) { > > res = mmap ((void *)base, length, prot, flags, fd, 0); > > if (res == MAP_FAILED) { > > + perror("MapMemory"); > > return NULL; > > } > > > > @@ -511,7 +512,7 @@ MapFd0 ( > > 4096, > > PROT_READ | PROT_WRITE, > > MAP_PRIVATE | MAP_ANONYMOUS, > > - 0, > > + -1, // This value required by *BSD for MAP_ANON > > 0 > > ); > > if (res3 != EmuMagicPage) { > > @@ -652,7 +653,7 @@ SecUnixPeiAutoScan ( > > > > *MemoryBase = 0; > > res = MapMemory ( > > - 0, > > + -1, // This value required by *BSD for MAP_ANON > > gSystemMemory[Index].Size, > > PROT_READ | PROT_WRITE | PROT_EXEC, > > MAP_PRIVATE | MAP_ANONYMOUS > > diff --git a/EmulatorPkg/Unix/Host/Host.h b/EmulatorPkg/Unix/Host/Host.h > > index 0c81cdfc01..d6b70e8320 100644 > > --- a/EmulatorPkg/Unix/Host/Host.h > > +++ b/EmulatorPkg/Unix/Host/Host.h > > @@ -31,6 +31,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > > > #if __CYGWIN__ > > #include > > +#elif __NetBSD__ > > + #include > > #else > > #include > > #endif > > @@ -55,7 +57,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #include > > #include > > > > -#ifdef __APPLE__ > > +#if defined(__APPLE__) > > #include > > #include > > #include > > @@ -65,6 +67,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #ifndef _Bool > > #define _Bool char // for clang debug > > #endif > > +#elif defined(__NetBSD__) > > + #define statfs statvfs > > + #define fstatfs fstatvfs > > #else > > #include > > #include > > -- > > 2.39.0 > > > > -- > > Thierry Laronde > > http://www.kergis.com/ > > http://kertex.kergis.com/ > > Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C > > Hi, > > I do not have any authority in EmulatorPkg but > > Reviewed-by: Pedro Falcato > > Can one of the maintainers please give their feedback and/or merge? > > This patch has been soaking up for way too long for no good reason. > The feedback has been addressed. I don't think there are any other > issues and there has been 0 feedback from the actual maintainers. > > -- > Pedro > > > > >