* [Patch 1/2] UefiCpuPkg/S3Resume2Pei: Use correct field name. [not found] <20190111054639.25528-1-eric.dong@intel.com> @ 2019-01-11 5:46 ` Eric Dong 2019-01-11 9:52 ` Laszlo Ersek 2019-01-11 5:46 ` [Patch 2/2] MdeModulePkg/BootScriptExecuteorDxe: " Eric Dong 2019-01-11 10:45 ` [Patch 0/2] " Laszlo Ersek 2 siblings, 1 reply; 6+ messages in thread From: Eric Dong @ 2019-01-11 5:46 UTC (permalink / raw) To: edk2-devel; +Cc: Aleksiy, Ray Ni, Laszlo Ersek ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) In above code, Facs->OspmFlags should be used instead. EFI_ACPI_4_0_OSPM_64BIT_WAKE__F is a bit in OSPM Enabled Firmware Control Structure Flags field, not in Firmware Control Structure Feature Flags. BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1430 Cc: Aleksiy <oleksiyy@ami.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.1 signed-off-by: Eric Dong <eric.dong@intel.com> Signed-off-by: Eric Dong <eric.dong@intel.com> --- UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c index 05234a6312..c85dfc0290 100644 --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c @@ -4,7 +4,7 @@ This module will execute the boot script saved during last boot and after that, control is passed to OS waking up handler. - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials @@ -316,7 +316,7 @@ IsLongModeWakingVector ( if (Facs->XFirmwareWakingVector != 0) { if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { // Both BIOS and OS wants 64bit vector if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) { return TRUE; @@ -499,7 +499,7 @@ S3ResumeBootOs ( )); if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { // // X64 long mode waking vector // -- 2.15.0.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Patch 1/2] UefiCpuPkg/S3Resume2Pei: Use correct field name. 2019-01-11 5:46 ` [Patch 1/2] UefiCpuPkg/S3Resume2Pei: Use correct field name Eric Dong @ 2019-01-11 9:52 ` Laszlo Ersek 0 siblings, 0 replies; 6+ messages in thread From: Laszlo Ersek @ 2019-01-11 9:52 UTC (permalink / raw) To: Eric Dong, edk2-devel; +Cc: Ray Ni, Aleksiy On 01/11/19 06:46, Eric Dong wrote: > ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) > > In above code, Facs->OspmFlags should be used instead. > EFI_ACPI_4_0_OSPM_64BIT_WAKE__F is a bit in OSPM Enabled Firmware > Control Structure Flags field, not in Firmware Control Structure > Feature Flags. > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1430 (1) Please use the following subject line for this patch: UefiCpuPkg/S3Resume2Pei: check 64BIT_WAKE_F in FACS.OSPMFlags > > Cc: Aleksiy <oleksiyy@ami.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Laszlo Ersek <lersek@redhat.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > signed-off-by: Eric Dong <eric.dong@intel.com> (2) Please remove this line; it is both mis-spelled (due to the lower-case "s"), and the next line makes it superfluous. My comment about QEMU's rev1 FACS applies to this patch as well, i.e., I don't expect the change to make any difference on QEMU/OVMF. With (1) and (2) addressed: Reviewed-by: Laszlo Ersek <lersek@redhat.com> Thanks, Laszlo > Signed-off-by: Eric Dong <eric.dong@intel.com> > --- > UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > index 05234a6312..c85dfc0290 100644 > --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c > @@ -4,7 +4,7 @@ > This module will execute the boot script saved during last boot and after that, > control is passed to OS waking up handler. > > - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> > > This program and the accompanying materials > @@ -316,7 +316,7 @@ IsLongModeWakingVector ( > if (Facs->XFirmwareWakingVector != 0) { > if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && > ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && > - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > // Both BIOS and OS wants 64bit vector > if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) { > return TRUE; > @@ -499,7 +499,7 @@ S3ResumeBootOs ( > )); > if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && > ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && > - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > // > // X64 long mode waking vector > // > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Patch 2/2] MdeModulePkg/BootScriptExecuteorDxe: Use correct field name. [not found] <20190111054639.25528-1-eric.dong@intel.com> 2019-01-11 5:46 ` [Patch 1/2] UefiCpuPkg/S3Resume2Pei: Use correct field name Eric Dong @ 2019-01-11 5:46 ` Eric Dong 2019-01-11 9:46 ` Laszlo Ersek 2019-01-11 10:45 ` [Patch 0/2] " Laszlo Ersek 2 siblings, 1 reply; 6+ messages in thread From: Eric Dong @ 2019-01-11 5:46 UTC (permalink / raw) To: edk2-devel; +Cc: Aleksiy, Jian Wang ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) In above code, Facs->OspmFlags should be used instead. EFI_ACPI_4_0_OSPM_64BIT_WAKE__F is a bit in OSPM Enabled Firmware Control Structure Flags field, not in Firmware Control Structure Feature Flags. BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1430 Cc: Aleksiy <oleksiyy@ami.com> Cc: Jian Wang <jian.j.wang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 signed-off-by: Eric Dong <eric.dong@intel.com> Signed-off-by: Eric Dong <eric.dong@intel.com> --- MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c | 4 ++-- MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c index e76abb7b7b..13af957a4d 100644 --- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c +++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c @@ -4,7 +4,7 @@ This driver is dispatched by Dxe core and the driver will reload itself to ACPI reserved memory in the entry point. The functionality is to interpret and restore the S3 boot script -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> This program and the accompanying materials @@ -156,7 +156,7 @@ S3BootScriptExecutorEntryFunction ( TempStackTop = (UINTN)&TempStack + sizeof(TempStack); if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { // // X64 long mode waking vector // diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c index 1c6bb47b60..7b9627d579 100644 --- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c +++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c @@ -3,7 +3,7 @@ Set a IDT entry for interrupt vector 3 for debug purpose for x64 platform -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> @@ -117,7 +117,7 @@ IsLongModeWakingVector ( if (Facs->XFirmwareWakingVector != 0) { if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { // Both BIOS and OS wants 64bit vector if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) { return TRUE; -- 2.15.0.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Patch 2/2] MdeModulePkg/BootScriptExecuteorDxe: Use correct field name. 2019-01-11 5:46 ` [Patch 2/2] MdeModulePkg/BootScriptExecuteorDxe: " Eric Dong @ 2019-01-11 9:46 ` Laszlo Ersek 0 siblings, 0 replies; 6+ messages in thread From: Laszlo Ersek @ 2019-01-11 9:46 UTC (permalink / raw) To: Eric Dong, edk2-devel; +Cc: Aleksiy On 01/11/19 06:46, Eric Dong wrote: > ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) > > In above code, Facs->OspmFlags should be used instead. > EFI_ACPI_4_0_OSPM_64BIT_WAKE__F is a bit in OSPM Enabled Firmware > Control Structure Flags field, not in Firmware Control Structure > Feature Flags. > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1430 I've now checked the ACPI 6.2 spec, and the bug report is correct. (1) The subject line of the patch is unhelpful. Instead, please use: MdeModulePkg/BootScriptExecuteorDxe: check 64BIT_WAKE_F in FACS.OSPMFlags This is 73 characters, uses names from the ACPI spec, and describes the change better. > Cc: Aleksiy <oleksiyy@ami.com> > Cc: Jian Wang <jian.j.wang@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > signed-off-by: Eric Dong <eric.dong@intel.com> (2) Please remove this line; it is both mis-spelled (due to the lower-case "s"), and the next line makes it superfluous. > Signed-off-by: Eric Dong <eric.dong@intel.com> > --- > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c | 4 ++-- > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c > index e76abb7b7b..13af957a4d 100644 > --- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c > +++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c > @@ -4,7 +4,7 @@ > This driver is dispatched by Dxe core and the driver will reload itself to ACPI reserved memory > in the entry point. The functionality is to interpret and restore the S3 boot script > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> > > This program and the accompanying materials > @@ -156,7 +156,7 @@ S3BootScriptExecutorEntryFunction ( > TempStackTop = (UINTN)&TempStack + sizeof(TempStack); > if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && > ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && > - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > // > // X64 long mode waking vector > // > diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c > index 1c6bb47b60..7b9627d579 100644 > --- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c > +++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c > @@ -3,7 +3,7 @@ > > Set a IDT entry for interrupt vector 3 for debug purpose for x64 platform > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> > Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> > > > @@ -117,7 +117,7 @@ IsLongModeWakingVector ( > if (Facs->XFirmwareWakingVector != 0) { > if ((Facs->Version == EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && > ((Facs->Flags & EFI_ACPI_4_0_64BIT_WAKE_SUPPORTED_F) != 0) && > - ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > + ((Facs->OspmFlags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) { > // Both BIOS and OS wants 64bit vector > if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) { > return TRUE; > Otherwise, the patch looks correct; all 64BIT_WAKE_F mentions are covered, under BootScriptExecuteorDxe. (In fact, under all of MdeModulePkg.) The patch is expected to make no difference on QEMU / OVMF, because QEMU exports a revision 1 FACS table for OVMF to install, and the expressions that are modified by the patch are never evaluated. But, I'll report back with test results too. With (1) and (2) addressed: Reviewed-by: Laszlo Ersek <lersek@redhat.com> Thanks, Laszlo ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Patch 0/2] Use correct field name. [not found] <20190111054639.25528-1-eric.dong@intel.com> 2019-01-11 5:46 ` [Patch 1/2] UefiCpuPkg/S3Resume2Pei: Use correct field name Eric Dong 2019-01-11 5:46 ` [Patch 2/2] MdeModulePkg/BootScriptExecuteorDxe: " Eric Dong @ 2019-01-11 10:45 ` Laszlo Ersek 2019-01-14 3:18 ` Zeng, Star 2 siblings, 1 reply; 6+ messages in thread From: Laszlo Ersek @ 2019-01-11 10:45 UTC (permalink / raw) To: Eric Dong, edk2-devel; +Cc: Ray Ni, Aleksiy On 01/11/19 06:46, Eric Dong wrote: > ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) > > In above code, Facs->OspmFlags should be used instead. > EFI_ACPI_4_0_OSPM_64BIT_WAKE__F is a bit in OSPM Enabled Firmware > Control Structure Flags field, not in Firmware Control Structure > Feature Flags. > > Update all related code to use correct field name. > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1430 > > Cc: Aleksiy <oleksiyy@ami.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Jian Wang <jian.j.wang@intel.com> > Eric Dong (2): > UefiCpuPkg/S3Resume2Pei: Use correct field name. > MdeModulePkg/BootScriptExecuteorDxe: Use correct field name. > > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c | 4 ++-- > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c | 4 ++-- > UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 6 +++--- > 3 files changed, 7 insertions(+), 7 deletions(-) > Regression-tested-by: Laszlo Ersek <lersek@redhat.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Patch 0/2] Use correct field name. 2019-01-11 10:45 ` [Patch 0/2] " Laszlo Ersek @ 2019-01-14 3:18 ` Zeng, Star 0 siblings, 0 replies; 6+ messages in thread From: Zeng, Star @ 2019-01-14 3:18 UTC (permalink / raw) To: Laszlo Ersek, Dong, Eric, edk2-devel@lists.01.org Cc: Ni, Ray, Aleksiy, Zeng, Star Agree with Laszlo's comments to those two patches. Reviewed-by: Star Zeng <star.zeng@intel.com> Thanks, Star -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo Ersek Sent: Friday, January 11, 2019 6:45 PM To: Dong, Eric <eric.dong@intel.com>; edk2-devel@lists.01.org Cc: Ni, Ray <ray.ni@intel.com>; Aleksiy <oleksiyy@ami.com> Subject: Re: [edk2] [Patch 0/2] Use correct field name. On 01/11/19 06:46, Eric Dong wrote: > ((Facs->Flags & EFI_ACPI_4_0_OSPM_64BIT_WAKE__F) != 0)) > > In above code, Facs->OspmFlags should be used instead. > EFI_ACPI_4_0_OSPM_64BIT_WAKE__F is a bit in OSPM Enabled Firmware > Control Structure Flags field, not in Firmware Control Structure > Feature Flags. > > Update all related code to use correct field name. > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1430 > > Cc: Aleksiy <oleksiyy@ami.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Jian Wang <jian.j.wang@intel.com> > Eric Dong (2): > UefiCpuPkg/S3Resume2Pei: Use correct field name. > MdeModulePkg/BootScriptExecuteorDxe: Use correct field name. > > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c | 4 ++-- > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c | 4 ++-- > UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 6 +++--- > 3 files changed, 7 insertions(+), 7 deletions(-) > Regression-tested-by: Laszlo Ersek <lersek@redhat.com> _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-01-14 3:18 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20190111054639.25528-1-eric.dong@intel.com> 2019-01-11 5:46 ` [Patch 1/2] UefiCpuPkg/S3Resume2Pei: Use correct field name Eric Dong 2019-01-11 9:52 ` Laszlo Ersek 2019-01-11 5:46 ` [Patch 2/2] MdeModulePkg/BootScriptExecuteorDxe: " Eric Dong 2019-01-11 9:46 ` Laszlo Ersek 2019-01-11 10:45 ` [Patch 0/2] " Laszlo Ersek 2019-01-14 3:18 ` Zeng, Star
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox