* [commit/cris] Add guru mode setting for CRISv32
@ 2005-05-13 13:18 Orjan Friberg
2005-05-13 15:18 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Orjan Friberg @ 2005-05-13 13:18 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 834 bytes --]
Committed the following.
2005-05-13 Orjan Friberg <orjanf@axis.com>
* cris-tdep.c (usr_cmd_cris_version): Change type to int.
(cris_mode_normal, cris_mode_guru, cris_modes, usr_cmd_cris_mode): Add.
(struct gdbarch_tdep): Change type of cris_version to int. Add
cris_mode.
(cris_mode, set_cris_mode): New functions.
(crisv32_single_step_through_delay): Read from NRP register instead
of ERP register in guru mode.
(cris_breakpoint_from_pc): Rename break_insn to break8_insn.
Add break15_insn, returned in guru mode.
(_initialize_cris_tdep): Add call to add_setshow_enum_cmd for new
cris-mode setting.
(cris_dump_tdep): Add dump of cris_mode.
(cris_gdbarch_init): Add cris_mode to search criteria for architecture.
Register the sigtramp frame sniffer only if not in guru mode.
--
Orjan Friberg
Axis Communications
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 6169 bytes --]
Index: cris-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/cris-tdep.c,v
retrieving revision 1.127
diff -u -p -r1.127 cris-tdep.c
--- cris-tdep.c 17 Feb 2005 13:49:49 -0000 1.127
+++ cris-tdep.c 13 May 2005 12:25:42 -0000
@@ -146,19 +146,32 @@ enum cris_regnums
extern const struct cris_spec_reg cris_spec_regs[];
/* CRIS version, set via the user command 'set cris-version'. Affects
- register names and sizes.*/
-static unsigned int usr_cmd_cris_version;
+ register names and sizes. */
+static int usr_cmd_cris_version;
/* Indicates whether to trust the above variable. */
static int usr_cmd_cris_version_valid = 0;
+static const char cris_mode_normal[] = "CRIS_MODE_NORMAL";
+static const char cris_mode_guru[] = "CRIS_MODE_GURU";
+static const char *cris_modes[] = {
+ cris_mode_normal,
+ cris_mode_guru,
+ 0
+};
+
+/* CRIS mode, set via the user command 'set cris-mode'. Affects
+ type of break instruction among other things. */
+static const char *usr_cmd_cris_mode = cris_mode_normal;
+
/* Whether to make use of Dwarf-2 CFI (default on). */
static int usr_cmd_cris_dwarf2_cfi = 1;
/* CRIS architecture specific information. */
struct gdbarch_tdep
{
- unsigned int cris_version;
+ int cris_version;
+ const char *cris_mode;
int cris_dwarf2_cfi;
};
@@ -170,6 +183,12 @@ cris_version (void)
return (gdbarch_tdep (current_gdbarch)->cris_version);
}
+static const char *
+cris_mode (void)
+{
+ return (gdbarch_tdep (current_gdbarch)->cris_mode);
+}
+
/* Sigtramp identification code copied from i386-linux-tdep.c. */
#define SIGTRAMP_INSN0 0x9c5f /* movu.w 0xXX, $r9 */
@@ -456,7 +475,15 @@ crisv32_single_step_through_delay (struc
int ret = 0;
char buf[4];
- frame_unwind_register (this_frame, ERP_REGNUM, buf);
+ if (cris_mode () == cris_mode_guru)
+ {
+ frame_unwind_register (this_frame, NRP_REGNUM, buf);
+ }
+ else
+ {
+ frame_unwind_register (this_frame, ERP_REGNUM, buf);
+ }
+
erp = extract_unsigned_integer (buf, 4);
if (erp & 0x1)
@@ -687,6 +714,9 @@ static void cris_dump_tdep (struct gdbar
static void set_cris_version (char *ignore_args, int from_tty,
struct cmd_list_element *c);
+static void set_cris_mode (char *ignore_args, int from_tty,
+ struct cmd_list_element *c);
+
static void set_cris_dwarf2_cfi (char *ignore_args, int from_tty,
struct cmd_list_element *c);
@@ -1394,10 +1424,14 @@ cris_unwind_sp (struct gdbarch *gdbarch,
static const unsigned char *
cris_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr)
{
- static unsigned char break_insn[] = {0x38, 0xe9};
+ static unsigned char break8_insn[] = {0x38, 0xe9};
+ static unsigned char break15_insn[] = {0x3f, 0xe9};
*lenptr = 2;
- return break_insn;
+ if (cris_mode () == cris_mode_guru)
+ return break15_insn;
+ else
+ return break8_insn;
}
/* Returns 1 if spec_reg is applicable to the current gdbarch's CRIS version,
@@ -3922,6 +3956,15 @@ _initialize_cris_tdep (void)
set_cris_version,
NULL, /* FIXME: i18n: Current CRIS version is %s. */
&setlist, &showlist);
+
+ add_setshow_enum_cmd ("cris-mode", class_support,
+ cris_modes, &usr_cmd_cris_mode,
+ _("Set the current CRIS mode."),
+ _("Show the current CRIS mode."),
+ _("Set if autodetection fails."),
+ set_cris_mode,
+ NULL, /* FIXME: i18n: Current CRIS version is %s. */
+ &setlist, &showlist);
add_setshow_boolean_cmd ("cris-dwarf2-cfi", class_support,
&usr_cmd_cris_dwarf2_cfi,
@@ -3945,6 +3988,8 @@ cris_dump_tdep (struct gdbarch *gdbarch,
{
fprintf_unfiltered (file, "cris_dump_tdep: tdep->cris_version = %i\n",
tdep->cris_version);
+ fprintf_unfiltered (file, "cris_dump_tdep: tdep->cris_mode = %s\n",
+ tdep->cris_mode);
fprintf_unfiltered (file, "cris_dump_tdep: tdep->cris_dwarf2_cfi = %i\n",
tdep->cris_dwarf2_cfi);
}
@@ -3966,6 +4011,19 @@ set_cris_version (char *ignore_args, int
}
static void
+set_cris_mode (char *ignore_args, int from_tty,
+ struct cmd_list_element *c)
+{
+ struct gdbarch_info info;
+
+ /* Update the current architecture, if needed. */
+ gdbarch_info_init (&info);
+ if (!gdbarch_update_p (info))
+ internal_error (__FILE__, __LINE__,
+ "cris_gdbarch_update: failed to update architecture.");
+}
+
+static void
set_cris_dwarf2_cfi (char *ignore_args, int from_tty,
struct cmd_list_element *c)
{
@@ -4003,14 +4061,15 @@ cris_gdbarch_init (struct gdbarch_info i
/* Make the current settings visible to the user. */
usr_cmd_cris_version = cris_version;
- /* Find a candidate among the list of pre-declared architectures. Both
- CRIS version and ABI must match. */
+ /* Find a candidate among the list of pre-declared architectures. */
for (arches = gdbarch_list_lookup_by_info (arches, &info);
arches != NULL;
arches = gdbarch_list_lookup_by_info (arches->next, &info))
{
if ((gdbarch_tdep (arches->gdbarch)->cris_version
== usr_cmd_cris_version)
+ && (gdbarch_tdep (arches->gdbarch)->cris_mode
+ == usr_cmd_cris_mode)
&& (gdbarch_tdep (arches->gdbarch)->cris_dwarf2_cfi
== usr_cmd_cris_dwarf2_cfi))
return arches->gdbarch;
@@ -4021,6 +4080,7 @@ cris_gdbarch_init (struct gdbarch_info i
gdbarch = gdbarch_alloc (&info, tdep);
tdep->cris_version = usr_cmd_cris_version;
+ tdep->cris_mode = usr_cmd_cris_mode;
tdep->cris_dwarf2_cfi = usr_cmd_cris_dwarf2_cfi;
/* INIT shall ensure that the INFO.BYTE_ORDER is non-zero. */
@@ -4137,7 +4197,10 @@ cris_gdbarch_init (struct gdbarch_info i
frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer);
}
- frame_unwind_append_sniffer (gdbarch, cris_sigtramp_frame_sniffer);
+ if (tdep->cris_mode != cris_mode_guru)
+ {
+ frame_unwind_append_sniffer (gdbarch, cris_sigtramp_frame_sniffer);
+ }
frame_unwind_append_sniffer (gdbarch, cris_frame_sniffer);
frame_base_set_default (gdbarch, &cris_frame_base);
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-13 13:18 [commit/cris] Add guru mode setting for CRISv32 Orjan Friberg
@ 2005-05-13 15:18 ` Eli Zaretskii
2005-05-13 17:37 ` Orjan Friberg
2005-05-13 17:42 ` Orjan Friberg
0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2005-05-13 15:18 UTC (permalink / raw)
To: Orjan Friberg; +Cc: gdb-patches
> Date: Fri, 13 May 2005 14:27:23 +0200
> From: Orjan Friberg <orjan.friberg@axis.com>
>
> Committed the following.
>
> 2005-05-13 Orjan Friberg <orjanf@axis.com>
>
> * cris-tdep.c (usr_cmd_cris_version): Change type to int.
> (cris_mode_normal, cris_mode_guru, cris_modes, usr_cmd_cris_mode): Add.
> (struct gdbarch_tdep): Change type of cris_version to int. Add
> cris_mode.
> (cris_mode, set_cris_mode): New functions.
> (crisv32_single_step_through_delay): Read from NRP register instead
> of ERP register in guru mode.
> (cris_breakpoint_from_pc): Rename break_insn to break8_insn.
> Add break15_insn, returned in guru mode.
> (_initialize_cris_tdep): Add call to add_setshow_enum_cmd for new
> cris-mode setting.
> (cris_dump_tdep): Add dump of cris_mode.
> (cris_gdbarch_init): Add cris_mode to search criteria for architecture.
> Register the sigtramp frame sniffer only if not in guru mode.
Thanks.
These patches introduced new user-level commands, but didn't include
any documentation for them, neither in the command's built-in
documentation nor in the manual. Please in the future _always_
accompany user-level changes with a suitable documentation changes.
Since the code is already in the CVS, I'm asking you to please post
documentation patches for these commands as soon as you can. There's
a "CRIS" subsection in the manual where the description should go.
Also, please improve the doc strings of the new setting you added:
they at least should list the possible settings for cris-mode.
TIA
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-13 15:18 ` Eli Zaretskii
@ 2005-05-13 17:37 ` Orjan Friberg
2005-05-14 6:10 ` Eli Zaretskii
2005-05-13 17:42 ` Orjan Friberg
1 sibling, 1 reply; 8+ messages in thread
From: Orjan Friberg @ 2005-05-13 17:37 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 389 bytes --]
Eli Zaretskii wrote:
> Also, please improve the doc strings of the new setting you added:
> they at least should list the possible settings for cris-mode.
Committed the following:
2005-05-13 Orjan Friberg <orjanf@axis.com>
* cris-tdep.c (_initialize_cris_tdep): Improve help strings for
cris-version, cris-mode, and cris-dwarf2-cfi settings.
--
Orjan Friberg
Axis Communications
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 1587 bytes --]
Index: cris-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/cris-tdep.c,v
retrieving revision 1.128
diff -u -p -r1.128 cris-tdep.c
--- cris-tdep.c 13 May 2005 12:26:54 -0000 1.128
+++ cris-tdep.c 13 May 2005 15:08:06 -0000
@@ -3952,7 +3952,9 @@ _initialize_cris_tdep (void)
&usr_cmd_cris_version,
_("Set the current CRIS version."),
_("Show the current CRIS version."),
- _("Set if autodetection fails."),
+ _("\
+Set to 10 for CRISv10 or 32 for CRISv32 if autodetection fails.\n\
+Defaults to 10. "),
set_cris_version,
NULL, /* FIXME: i18n: Current CRIS version is %s. */
&setlist, &showlist);
@@ -3961,7 +3963,9 @@ _initialize_cris_tdep (void)
cris_modes, &usr_cmd_cris_mode,
_("Set the current CRIS mode."),
_("Show the current CRIS mode."),
- _("Set if autodetection fails."),
+ _("\
+Set to CRIS_MODE_GURU when debugging in guru mode.\n\
+Makes GDB use the NRP register instead of the ERP register in certain cases."),
set_cris_mode,
NULL, /* FIXME: i18n: Current CRIS version is %s. */
&setlist, &showlist);
@@ -3970,7 +3974,7 @@ _initialize_cris_tdep (void)
&usr_cmd_cris_dwarf2_cfi,
_("Set the usage of Dwarf-2 CFI for CRIS."),
_("Show the usage of Dwarf-2 CFI for CRIS."),
- _("Set to \"off\" if using gcc-cris < R59."),
+ _("Set this to \"off\" if using gcc-cris < R59."),
set_cris_dwarf2_cfi,
NULL, /* FIXME: i18n: Usage of Dwarf-2 CFI for CRIS is %d. */
&setlist, &showlist);
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-13 17:37 ` Orjan Friberg
@ 2005-05-14 6:10 ` Eli Zaretskii
0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2005-05-14 6:10 UTC (permalink / raw)
To: Orjan Friberg; +Cc: gdb-patches
> Date: Fri, 13 May 2005 17:18:09 +0200
> From: Orjan Friberg <orjan.friberg@axis.com>
> CC: gdb-patches@sources.redhat.com
>
> Eli Zaretskii wrote:
> > Also, please improve the doc strings of the new setting you added:
> > they at least should list the possible settings for cris-mode.
>
> Committed the following:
>
> 2005-05-13 Orjan Friberg <orjanf@axis.com>
>
> * cris-tdep.c (_initialize_cris_tdep): Improve help strings for
> cris-version, cris-mode, and cris-dwarf2-cfi settings.
Thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-13 15:18 ` Eli Zaretskii
2005-05-13 17:37 ` Orjan Friberg
@ 2005-05-13 17:42 ` Orjan Friberg
2005-05-14 7:13 ` Eli Zaretskii
1 sibling, 1 reply; 8+ messages in thread
From: Orjan Friberg @ 2005-05-13 17:42 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 694 bytes --]
Eli Zaretskii wrote:
>
> Thanks.
>
> These patches introduced new user-level commands, but didn't include
> any documentation for them, neither in the command's built-in
> documentation nor in the manual. Please in the future _always_
> accompany user-level changes with a suitable documentation changes.
I'm sorry; I hadn't even realized there was a CRIS section in the manual.
Ok to commit?
2005-05-13 Orjan Friberg <orjanf@axis.com>
* gdb.texinfo (CRIS): Update the cris-version and cris-dwarf2-cfi
documentation. Add documentation for cris-mode.
(I will be gone for most of next week and will be unresponsive at best during
that time.)
--
Orjan Friberg
Axis Communications
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 1629 bytes --]
Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.253
diff -u -r1.253 gdb.texinfo
--- gdb.texinfo 12 May 2005 09:05:42 -0000 1.253
+++ gdb.texinfo 13 May 2005 15:03:53 -0000
@@ -14665,23 +14665,32 @@
@table @code
@item set cris-version @var{ver}
@cindex CRIS version
-Set the current CRIS version to @var{ver}. The CRIS version affects
-register names and sizes. This command is useful in case
-autodetection of the CRIS version fails.
+Set the current CRIS version to @var{ver}, either @samp{10} or @samp{32}.
+The CRIS version affects register names and sizes. This command is useful in
+case autodetection of the CRIS version fails.
@item show cris-version
Show the current CRIS version.
@item set cris-dwarf2-cfi
@cindex DWARF-2 CFI and CRIS
-Set the usage of DWARF-2 CFI for CRIS debugging. The default is off
-if using @code{gcc-cris} whose version is below @code{R59}, otherwise
-on.
+Set the usage of DWARF-2 CFI for CRIS debugging. The default is @samp{on}.
+Change to @samp{off} when using @code{gcc-cris} whose version is below
+@code{R59}.
@item show cris-dwarf2-cfi
Show the current state of using DWARF-2 CFI.
@end table
+@item set cris-mode @var{mode}
+@cindex CRIS mode
+Set the current CRIS mode to @var{mode}. It should only be changed when
+debugging in guru mode, in which case it should be set to
+@samp{CRIS_MODE_GURU} (the default is @samp{CRIS_MODE_NORMAL}).
+
+@item show cris-mode
+Show the current CRIS mode.
+
@node Super-H
@subsection Renesas Super-H
@cindex Super-H
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-13 17:42 ` Orjan Friberg
@ 2005-05-14 7:13 ` Eli Zaretskii
2005-05-23 11:27 ` Orjan Friberg
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2005-05-14 7:13 UTC (permalink / raw)
To: Orjan Friberg; +Cc: gdb-patches
> Date: Fri, 13 May 2005 17:18:15 +0200
> From: Orjan Friberg <orjan.friberg@axis.com>
> CC: gdb-patches@sources.redhat.com
>
> I'm sorry; I hadn't even realized there was a CRIS section in the manual.
>
> Ok to commit?
>
> 2005-05-13 Orjan Friberg <orjanf@axis.com>
>
> * gdb.texinfo (CRIS): Update the cris-version and cris-dwarf2-cfi
> documentation. Add documentation for cris-mode.
Yes, but...
> @item show cris-dwarf2-cfi
> Show the current state of using DWARF-2 CFI.
> @end table
>
> +@item set cris-mode @var{mode}
@item is only valid inside a @table, so @end table needs to be moved
after the 2 new @items you added. (It is worthwhile to try to produce
the manual after you make a change in the *.texinfo files, since then
makeinfo will point out any problems.)
> +@cindex CRIS mode
> +Set the current CRIS mode to @var{mode}. It should only be changed when
> +debugging in guru mode, in which case it should be set to
> +@samp{CRIS_MODE_GURU} (the default is @samp{CRIS_MODE_NORMAL}).
What are CRIS_MODE_GURU and CRIS_MODE_NORMAL? are they literal strings
or some symbols? That is, do I type
(gdb) set cris-mode CRIS_MODE_GURU
? If so, why are they in CAPS?
> +@item show cris-mode
> +Show the current CRIS mode.
The @end table should go after this part.
Thanks for a timely response.
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-14 7:13 ` Eli Zaretskii
@ 2005-05-23 11:27 ` Orjan Friberg
2005-05-24 1:36 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Orjan Friberg @ 2005-05-23 11:27 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 998 bytes --]
Eli Zaretskii wrote:
>
> @item is only valid inside a @table, so @end table needs to be moved
> after the 2 new @items you added. (It is worthwhile to try to produce
> the manual after you make a change in the *.texinfo files, since then
> makeinfo will point out any problems.)
Got it.
> What are CRIS_MODE_GURU and CRIS_MODE_NORMAL? are they literal strings
> or some symbols? That is, do I type
>
> (gdb) set cris-mode CRIS_MODE_GURU
>
> ? If so, why are they in CAPS?
Now that you mention it, it does look strange. I changed it to 'guru' and
'normal' (both in the code and the documentation).
>>+@item show cris-mode
>>+Show the current CRIS mode.
>
>
> The @end table should go after this part.
Fixed.
> Thanks for a timely response.
Thank you. Committed the following:
2005-05-23 Orjan Friberg <orjanf@axis.com>
* gdb.texinfo (CRIS): Update the cris-version and cris-dwarf2-cfi
documentation. Add documentation for cris-mode.
--
Orjan Friberg
Axis Communications
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 1563 bytes --]
Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.255
diff -u -r1.255 gdb.texinfo
--- gdb.texinfo 20 May 2005 14:58:38 -0000 1.255
+++ gdb.texinfo 23 May 2005 10:39:02 -0000
@@ -14665,21 +14665,30 @@
@table @code
@item set cris-version @var{ver}
@cindex CRIS version
-Set the current CRIS version to @var{ver}. The CRIS version affects
-register names and sizes. This command is useful in case
-autodetection of the CRIS version fails.
+Set the current CRIS version to @var{ver}, either @samp{10} or @samp{32}.
+The CRIS version affects register names and sizes. This command is useful in
+case autodetection of the CRIS version fails.
@item show cris-version
Show the current CRIS version.
@item set cris-dwarf2-cfi
@cindex DWARF-2 CFI and CRIS
-Set the usage of DWARF-2 CFI for CRIS debugging. The default is off
-if using @code{gcc-cris} whose version is below @code{R59}, otherwise
-on.
+Set the usage of DWARF-2 CFI for CRIS debugging. The default is @samp{on}.
+Change to @samp{off} when using @code{gcc-cris} whose version is below
+@code{R59}.
@item show cris-dwarf2-cfi
Show the current state of using DWARF-2 CFI.
+
+@item set cris-mode @var{mode}
+@cindex CRIS mode
+Set the current CRIS mode to @var{mode}. It should only be changed when
+debugging in guru mode, in which case it should be set to
+@samp{guru} (the default is @samp{normal}).
+
+@item show cris-mode
+Show the current CRIS mode.
@end table
@node Super-H
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [commit/cris] Add guru mode setting for CRISv32
2005-05-23 11:27 ` Orjan Friberg
@ 2005-05-24 1:36 ` Eli Zaretskii
0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2005-05-24 1:36 UTC (permalink / raw)
To: Orjan Friberg; +Cc: gdb-patches
> Date: Mon, 23 May 2005 12:48:31 +0200
> From: Orjan Friberg <orjan.friberg@axis.com>
> CC: gdb-patches@sources.redhat.com
>
> Thank you. Committed the following:
>
> 2005-05-23 Orjan Friberg <orjanf@axis.com>
>
> * gdb.texinfo (CRIS): Update the cris-version and cris-dwarf2-cfi
> documentation. Add documentation for cris-mode.
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-05-23 23:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-13 13:18 [commit/cris] Add guru mode setting for CRISv32 Orjan Friberg
2005-05-13 15:18 ` Eli Zaretskii
2005-05-13 17:37 ` Orjan Friberg
2005-05-14 6:10 ` Eli Zaretskii
2005-05-13 17:42 ` Orjan Friberg
2005-05-14 7:13 ` Eli Zaretskii
2005-05-23 11:27 ` Orjan Friberg
2005-05-24 1:36 ` Eli Zaretskii
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox