* [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures
@ 2015-12-23 9:29 Ard Biesheuvel
[not found] ` <1450862968-20222-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Ard Biesheuvel @ 2015-12-23 9:29 UTC (permalink / raw)
To: linux-efi-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
matt-mF/unelCI9GS6iBeEJttW/XRex20P6io, will.deacon-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8
Cc: Ard Biesheuvel
This moves the DISABLE_BRANCH_PROFILING define from the x86 specific
to the general CFLAGS definition for the stub. This fixes build errors
when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED.
Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
---
drivers/firmware/efi/libstub/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
index 3c0467d3688c..c0ddd1b8dca3 100644
--- a/drivers/firmware/efi/libstub/Makefile
+++ b/drivers/firmware/efi/libstub/Makefile
@@ -8,7 +8,7 @@ cflags-$(CONFIG_X86_32) := -march=i386
cflags-$(CONFIG_X86_64) := -mcmodel=small
cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 \
-fPIC -fno-strict-aliasing -mno-red-zone \
- -mno-mmx -mno-sse -DDISABLE_BRANCH_PROFILING
+ -mno-mmx -mno-sse
cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS))
cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \
@@ -16,7 +16,7 @@ cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \
cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt
-KBUILD_CFLAGS := $(cflags-y) \
+KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \
$(call cc-option,-ffreestanding) \
$(call cc-option,-fno-stack-protector)
--
2.5.0
^ permalink raw reply related [flat|nested] 8+ messages in thread[parent not found: <1450862968-20222-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <1450862968-20222-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> @ 2015-12-23 9:33 ` Ard Biesheuvel 2016-01-04 12:31 ` Will Deacon 1 sibling, 0 replies; 8+ messages in thread From: Ard Biesheuvel @ 2015-12-23 9:33 UTC (permalink / raw) To: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Matt Fleming, Will Deacon, Catalin Marinas Cc: Ard Biesheuvel On 23 December 2015 at 10:29, Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > This moves the DISABLE_BRANCH_PROFILING define from the x86 specific > to the general CFLAGS definition for the stub. This fixes build errors > when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED. > typo here ^^^ > Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > --- > drivers/firmware/efi/libstub/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile > index 3c0467d3688c..c0ddd1b8dca3 100644 > --- a/drivers/firmware/efi/libstub/Makefile > +++ b/drivers/firmware/efi/libstub/Makefile > @@ -8,7 +8,7 @@ cflags-$(CONFIG_X86_32) := -march=i386 > cflags-$(CONFIG_X86_64) := -mcmodel=small > cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 \ > -fPIC -fno-strict-aliasing -mno-red-zone \ > - -mno-mmx -mno-sse -DDISABLE_BRANCH_PROFILING > + -mno-mmx -mno-sse > > cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) > cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ > @@ -16,7 +16,7 @@ cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ > > cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt > > -KBUILD_CFLAGS := $(cflags-y) \ > +KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \ > $(call cc-option,-ffreestanding) \ > $(call cc-option,-fno-stack-protector) > > -- > 2.5.0 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <1450862968-20222-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2015-12-23 9:33 ` Ard Biesheuvel @ 2016-01-04 12:31 ` Will Deacon [not found] ` <20160104123145.GB1616-5wv7dgnIgG8@public.gmane.org> 1 sibling, 1 reply; 8+ messages in thread From: Will Deacon @ 2016-01-04 12:31 UTC (permalink / raw) To: Ard Biesheuvel Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, matt-mF/unelCI9GS6iBeEJttW/XRex20P6io, catalin.marinas-5wv7dgnIgG8 On Wed, Dec 23, 2015 at 10:29:28AM +0100, Ard Biesheuvel wrote: > This moves the DISABLE_BRANCH_PROFILING define from the x86 specific > to the general CFLAGS definition for the stub. This fixes build errors > when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED. > > Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > --- > drivers/firmware/efi/libstub/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Cheers, Ard. The kernel now builds and boots as an EFI application for me when the dreaded #define if config option is enabled: Tested-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> Will > diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile > index 3c0467d3688c..c0ddd1b8dca3 100644 > --- a/drivers/firmware/efi/libstub/Makefile > +++ b/drivers/firmware/efi/libstub/Makefile > @@ -8,7 +8,7 @@ cflags-$(CONFIG_X86_32) := -march=i386 > cflags-$(CONFIG_X86_64) := -mcmodel=small > cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 \ > -fPIC -fno-strict-aliasing -mno-red-zone \ > - -mno-mmx -mno-sse -DDISABLE_BRANCH_PROFILING > + -mno-mmx -mno-sse > > cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) > cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ > @@ -16,7 +16,7 @@ cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ > > cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt > > -KBUILD_CFLAGS := $(cflags-y) \ > +KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \ > $(call cc-option,-ffreestanding) \ > $(call cc-option,-fno-stack-protector) > > -- > 2.5.0 > ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20160104123145.GB1616-5wv7dgnIgG8@public.gmane.org>]
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <20160104123145.GB1616-5wv7dgnIgG8@public.gmane.org> @ 2016-01-05 14:56 ` Ard Biesheuvel [not found] ` <CAKv+Gu-n-7tk1NXYAbf7+O79gYG82QOsbzLuYG1yX=LSizksWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Ard Biesheuvel @ 2016-01-05 14:56 UTC (permalink / raw) To: Will Deacon, Arnd Bergmann Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Matt Fleming, Catalin Marinas (+ Arnd) On 4 January 2016 at 13:31, Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote: > On Wed, Dec 23, 2015 at 10:29:28AM +0100, Ard Biesheuvel wrote: >> This moves the DISABLE_BRANCH_PROFILING define from the x86 specific >> to the general CFLAGS definition for the stub. This fixes build errors >> when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED. >> >> Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> >> --- >> drivers/firmware/efi/libstub/Makefile | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) > > Cheers, Ard. The kernel now builds and boots as an EFI application for > me when the dreaded #define if config option is enabled: > > Tested-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > > Will > @Matt: this is causing randconfig build errors for ARM in -next. Mind if we take this through some other tree? >> diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile >> index 3c0467d3688c..c0ddd1b8dca3 100644 >> --- a/drivers/firmware/efi/libstub/Makefile >> +++ b/drivers/firmware/efi/libstub/Makefile >> @@ -8,7 +8,7 @@ cflags-$(CONFIG_X86_32) := -march=i386 >> cflags-$(CONFIG_X86_64) := -mcmodel=small >> cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 \ >> -fPIC -fno-strict-aliasing -mno-red-zone \ >> - -mno-mmx -mno-sse -DDISABLE_BRANCH_PROFILING >> + -mno-mmx -mno-sse >> >> cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) >> cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ >> @@ -16,7 +16,7 @@ cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \ >> >> cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt >> >> -KBUILD_CFLAGS := $(cflags-y) \ >> +KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \ >> $(call cc-option,-ffreestanding) \ >> $(call cc-option,-fno-stack-protector) >> >> -- >> 2.5.0 >> ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CAKv+Gu-n-7tk1NXYAbf7+O79gYG82QOsbzLuYG1yX=LSizksWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <CAKv+Gu-n-7tk1NXYAbf7+O79gYG82QOsbzLuYG1yX=LSizksWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2016-01-05 15:39 ` Matt Fleming [not found] ` <20160105153918.GA2714-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Matt Fleming @ 2016-01-05 15:39 UTC (permalink / raw) To: Ard Biesheuvel Cc: Will Deacon, Arnd Bergmann, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Catalin Marinas On Tue, 05 Jan, at 03:56:39PM, Ard Biesheuvel wrote: > (+ Arnd) > > On 4 January 2016 at 13:31, Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote: > > On Wed, Dec 23, 2015 at 10:29:28AM +0100, Ard Biesheuvel wrote: > >> This moves the DISABLE_BRANCH_PROFILING define from the x86 specific > >> to the general CFLAGS definition for the stub. This fixes build errors > >> when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED. > >> > >> Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > >> --- > >> drivers/firmware/efi/libstub/Makefile | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > > > > Cheers, Ard. The kernel now builds and boots as an EFI application for > > me when the dreaded #define if config option is enabled: > > > > Tested-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > > > > Will > > > > @Matt: this is causing randconfig build errors for ARM in -next. Mind > if we take this through some other tree? Go ahead. Reviewed-by: Matt Fleming <matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org> ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20160105153918.GA2714-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>]
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <20160105153918.GA2714-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org> @ 2016-01-05 17:51 ` Will Deacon [not found] ` <20160105175114.GG10705-5wv7dgnIgG8@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Will Deacon @ 2016-01-05 17:51 UTC (permalink / raw) To: Matt Fleming Cc: Ard Biesheuvel, Arnd Bergmann, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Catalin Marinas On Tue, Jan 05, 2016 at 03:39:18PM +0000, Matt Fleming wrote: > On Tue, 05 Jan, at 03:56:39PM, Ard Biesheuvel wrote: > > (+ Arnd) > > > > On 4 January 2016 at 13:31, Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote: > > > On Wed, Dec 23, 2015 at 10:29:28AM +0100, Ard Biesheuvel wrote: > > >> This moves the DISABLE_BRANCH_PROFILING define from the x86 specific > > >> to the general CFLAGS definition for the stub. This fixes build errors > > >> when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED. > > >> > > >> Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > > >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > > >> --- > > >> drivers/firmware/efi/libstub/Makefile | 4 ++-- > > >> 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > Cheers, Ard. The kernel now builds and boots as an EFI application for > > > me when the dreaded #define if config option is enabled: > > > > > > Tested-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > > > > > > Will > > > > > > > @Matt: this is causing randconfig build errors for ARM in -next. Mind > > if we take this through some other tree? > > Go ahead. > > Reviewed-by: Matt Fleming <matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org> I can take this via the arm64 tree, unless Arnd wants to queue it in arm-soc. Arnd? Will ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20160105175114.GG10705-5wv7dgnIgG8@public.gmane.org>]
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <20160105175114.GG10705-5wv7dgnIgG8@public.gmane.org> @ 2016-01-06 15:43 ` Will Deacon [not found] ` <20160106154348.GF16580-5wv7dgnIgG8@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Will Deacon @ 2016-01-06 15:43 UTC (permalink / raw) To: Matt Fleming Cc: Ard Biesheuvel, Arnd Bergmann, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Catalin Marinas On Tue, Jan 05, 2016 at 05:51:14PM +0000, Will Deacon wrote: > On Tue, Jan 05, 2016 at 03:39:18PM +0000, Matt Fleming wrote: > > On Tue, 05 Jan, at 03:56:39PM, Ard Biesheuvel wrote: > > > (+ Arnd) > > > > > > On 4 January 2016 at 13:31, Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote: > > > > On Wed, Dec 23, 2015 at 10:29:28AM +0100, Ard Biesheuvel wrote: > > > >> This moves the DISABLE_BRANCH_PROFILING define from the x86 specific > > > >> to the general CFLAGS definition for the stub. This fixes build errors > > > >> when building for arm64 with CONFIG_PROFILE_ALL_BRANCHES_ENABLED. > > > >> > > > >> Reported-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > > > >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > > > >> --- > > > >> drivers/firmware/efi/libstub/Makefile | 4 ++-- > > > >> 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > Cheers, Ard. The kernel now builds and boots as an EFI application for > > > > me when the dreaded #define if config option is enabled: > > > > > > > > Tested-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> > > > > > > > > Will > > > > > > > > > > @Matt: this is causing randconfig build errors for ARM in -next. Mind > > > if we take this through some other tree? > > > > Go ahead. > > > > Reviewed-by: Matt Fleming <matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org> > > I can take this via the arm64 tree, unless Arnd wants to queue it in > arm-soc. Arnd? Given that this fixes build errors, I've applied it in the arm64 tree, so it should appear in -next soon. Will ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <20160106154348.GF16580-5wv7dgnIgG8@public.gmane.org>]
* Re: [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures [not found] ` <20160106154348.GF16580-5wv7dgnIgG8@public.gmane.org> @ 2016-01-07 14:59 ` Arnd Bergmann 0 siblings, 0 replies; 8+ messages in thread From: Arnd Bergmann @ 2016-01-07 14:59 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Cc: Will Deacon, Matt Fleming, Catalin Marinas, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ard Biesheuvel On Wednesday 06 January 2016 15:43:49 Will Deacon wrote: > On Tue, Jan 05, 2016 at 05:51:14PM +0000, Will Deacon wrote: > > I can take this via the arm64 tree, unless Arnd wants to queue it in > > arm-soc. Arnd? arm64 tree is fine with me. > Given that this fixes build errors, I've applied it in the arm64 tree, > so it should appear in -next soon. > Thanks, Arnd ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-01-07 14:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-23 9:29 [PATCH] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures Ard Biesheuvel
[not found] ` <1450862968-20222-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-12-23 9:33 ` Ard Biesheuvel
2016-01-04 12:31 ` Will Deacon
[not found] ` <20160104123145.GB1616-5wv7dgnIgG8@public.gmane.org>
2016-01-05 14:56 ` Ard Biesheuvel
[not found] ` <CAKv+Gu-n-7tk1NXYAbf7+O79gYG82QOsbzLuYG1yX=LSizksWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-01-05 15:39 ` Matt Fleming
[not found] ` <20160105153918.GA2714-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-01-05 17:51 ` Will Deacon
[not found] ` <20160105175114.GG10705-5wv7dgnIgG8@public.gmane.org>
2016-01-06 15:43 ` Will Deacon
[not found] ` <20160106154348.GF16580-5wv7dgnIgG8@public.gmane.org>
2016-01-07 14:59 ` Arnd Bergmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox