All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
@ 2021-02-03 10:09 Federico Pellegrin
  2021-04-03  4:30 ` Federico Pellegrin
  2021-05-04 19:45 ` Yann E. MORIN
  0 siblings, 2 replies; 9+ messages in thread
From: Federico Pellegrin @ 2021-02-03 10:09 UTC (permalink / raw)
  To: buildroot

kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.

This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.

Signed-off-by: Federico Pellegrin <fede@evolware.org>
---
 ...c-tools-fix-build-on-pre-4.4-kernels.patch | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch

diff --git a/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch b/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
new file mode 100644
index 0000000000..fcac604dfd
--- /dev/null
+++ b/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
@@ -0,0 +1,34 @@
+From cbbe4c47cb2acae04083c510dbe0efc5f48f5bb6 Mon Sep 17 00:00:00 2001
+From: Federico Pellegrin <fede@evolware.org>
+Date: Wed, 3 Feb 2021 11:00:17 +0100
+Subject: [PATCH] kexec-tools: fix build on pre 4.4 kernels
+
+kexec build will fail on older kernels (pre 4.4) as the define
+VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
+
+This patch adds it, as per linux/include/uapi/linux/screen_info.h,
+if not present.
+
+Signed-off-by: Federico Pellegrin <fede@evolware.org>
+---
+ kexec/arch/i386/x86-linux-setup.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
+index 76e1185..ab54a4a 100644
+--- a/kexec/arch/i386/x86-linux-setup.c
++++ b/kexec/arch/i386/x86-linux-setup.c
+@@ -37,6 +37,10 @@
+ #include "x86-linux-setup.h"
+ #include "../../kexec/kexec-syscall.h"
+ 
++#ifndef VIDEO_CAPABILITY_64BIT_BASE
++#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1)	/* Frame buffer base is 64-bit */
++#endif
++
+ void init_linux_parameters(struct x86_linux_param_header *real_mode)
+ {
+ 	/* Fill in the values that are usually provided by the kernel. */
+-- 
+2.26.2
+
-- 
2.26.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-02-03 10:09 [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels Federico Pellegrin
@ 2021-04-03  4:30 ` Federico Pellegrin
  2021-05-04 19:45 ` Yann E. MORIN
  1 sibling, 0 replies; 9+ messages in thread
From: Federico Pellegrin @ 2021-04-03  4:30 UTC (permalink / raw)
  To: buildroot

Hi Thomas,
This has now been merged upstream:
https://github.com/horms/kexec-tools/commit/d73822b8985b68694336cd6a1aa47fe0233b55cc

I don't know if you think it's the case to merge therefore to
Buildroot or we can wait for the next release of kexec-tools (not sure
when that could happend).

Thanks,
Federico

Il giorno mer 3 feb 2021 alle ore 11:09 Federico Pellegrin
<fede@evolware.org> ha scritto:
>
> kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
>
> This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
>
> Signed-off-by: Federico Pellegrin <fede@evolware.org>
> ---
>  ...c-tools-fix-build-on-pre-4.4-kernels.patch | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
>  create mode 100644 package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
>
> diff --git a/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch b/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
> new file mode 100644
> index 0000000000..fcac604dfd
> --- /dev/null
> +++ b/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
> @@ -0,0 +1,34 @@
> +From cbbe4c47cb2acae04083c510dbe0efc5f48f5bb6 Mon Sep 17 00:00:00 2001
> +From: Federico Pellegrin <fede@evolware.org>
> +Date: Wed, 3 Feb 2021 11:00:17 +0100
> +Subject: [PATCH] kexec-tools: fix build on pre 4.4 kernels
> +
> +kexec build will fail on older kernels (pre 4.4) as the define
> +VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> +
> +This patch adds it, as per linux/include/uapi/linux/screen_info.h,
> +if not present.
> +
> +Signed-off-by: Federico Pellegrin <fede@evolware.org>
> +---
> + kexec/arch/i386/x86-linux-setup.c | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
> +index 76e1185..ab54a4a 100644
> +--- a/kexec/arch/i386/x86-linux-setup.c
> ++++ b/kexec/arch/i386/x86-linux-setup.c
> +@@ -37,6 +37,10 @@
> + #include "x86-linux-setup.h"
> + #include "../../kexec/kexec-syscall.h"
> +
> ++#ifndef VIDEO_CAPABILITY_64BIT_BASE
> ++#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1)  /* Frame buffer base is 64-bit */
> ++#endif
> ++
> + void init_linux_parameters(struct x86_linux_param_header *real_mode)
> + {
> +       /* Fill in the values that are usually provided by the kernel. */
> +--
> +2.26.2
> +
> --
> 2.26.2
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-02-03 10:09 [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels Federico Pellegrin
  2021-04-03  4:30 ` Federico Pellegrin
@ 2021-05-04 19:45 ` Yann E. MORIN
  2021-05-07  8:36   ` Peter Korsgaard
  1 sibling, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2021-05-04 19:45 UTC (permalink / raw)
  To: buildroot

Federico, All,

On 2021-02-03 11:09 +0100, Federico Pellegrin spake thusly:
> kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> 
> This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
> 
> Signed-off-by: Federico Pellegrin <fede@evolware.org>

This patch is no longer needed now that we updated kexec to 2.0.21, then
2.0.22.

Sorry it took so long to handle that... :-/

Regards,
Yann E. MORIN.

> ---
>  ...c-tools-fix-build-on-pre-4.4-kernels.patch | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
>  create mode 100644 package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
> 
> diff --git a/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch b/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
> new file mode 100644
> index 0000000000..fcac604dfd
> --- /dev/null
> +++ b/package/kexec/0003-kexec-tools-fix-build-on-pre-4.4-kernels.patch
> @@ -0,0 +1,34 @@
> +From cbbe4c47cb2acae04083c510dbe0efc5f48f5bb6 Mon Sep 17 00:00:00 2001
> +From: Federico Pellegrin <fede@evolware.org>
> +Date: Wed, 3 Feb 2021 11:00:17 +0100
> +Subject: [PATCH] kexec-tools: fix build on pre 4.4 kernels
> +
> +kexec build will fail on older kernels (pre 4.4) as the define
> +VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> +
> +This patch adds it, as per linux/include/uapi/linux/screen_info.h,
> +if not present.
> +
> +Signed-off-by: Federico Pellegrin <fede@evolware.org>
> +---
> + kexec/arch/i386/x86-linux-setup.c | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
> +index 76e1185..ab54a4a 100644
> +--- a/kexec/arch/i386/x86-linux-setup.c
> ++++ b/kexec/arch/i386/x86-linux-setup.c
> +@@ -37,6 +37,10 @@
> + #include "x86-linux-setup.h"
> + #include "../../kexec/kexec-syscall.h"
> + 
> ++#ifndef VIDEO_CAPABILITY_64BIT_BASE
> ++#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1)	/* Frame buffer base is 64-bit */
> ++#endif
> ++
> + void init_linux_parameters(struct x86_linux_param_header *real_mode)
> + {
> + 	/* Fill in the values that are usually provided by the kernel. */
> +-- 
> +2.26.2
> +
> -- 
> 2.26.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-05-04 19:45 ` Yann E. MORIN
@ 2021-05-07  8:36   ` Peter Korsgaard
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2021-05-07  8:36 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Federico, All,
 > On 2021-02-03 11:09 +0100, Federico Pellegrin spake thusly:
 >> kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
 >> 
 >> This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
 >> 
 >> Signed-off-by: Federico Pellegrin <fede@evolware.org>

 > This patch is no longer needed now that we updated kexec to 2.0.21, then
 > 2.0.22.

But on 2021.02.x we still have 2.0.20, so committed to 2021.02.x, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-02-23  8:30     ` Federico Pellegrin
@ 2021-02-23 12:32       ` Federico Pellegrin
  0 siblings, 0 replies; 9+ messages in thread
From: Federico Pellegrin @ 2021-02-23 12:32 UTC (permalink / raw)
  To: buildroot

Hi Thomas,
Very funny enough, I got a feedback today from the original author
soon after I sent the email to the list, giving an ok with his review.
So seems to be probably the right way to solve the problem, but still
needs to be merged and not sure how much this may take.

The feedback:

----
Thanks for the fix, I didn't notice pre 4.4 kernels don't have this defined
when I submitted that patch.

Reviewed-by: Kairui Song <kasong@redhat.com>
-----

Cheers!
Federico

Federico

Il giorno mar 23 feb 2021 alle ore 09:30 Federico Pellegrin
<fede@evolware.org> ha scritto:
>
> Hi Thomas,
> Just wanted to revive this thread/patch even if not with very useful
> info: pinged a few times in kexec mailing list but nothing yet, just
> one partecipant kindly forwarded directly also to the developer that
> wrote the specific code, but then everything stopped still sadly (~3
> week now since first patch post).
>
> For the time being we keep it as a local patch, I'm not sure how you
> proceed in buildroot in such cases.
>
> Cheers,
> Federico
>
>
> Il giorno mer 3 feb 2021 alle ore 11:15 Federico Pellegrin
> <fede@evolware.org> ha scritto:
> >
> > Hi Thomas,
> > I apologize for the very bad patch I sent last time, very sorry I
> > missed a level of patch indirection :-)
> >
> > I've just resubmitted a few moments ago, I hope it is fine this time.
> >
> > As for upstream: I contacted them on the kexec mailing list
> > (describing the problem, proposing informally the solution and asking
> > if a patch would be welcome) but got no response as of now. I will
> > wait a bit more and ping in case. I'm not really sure if they are
> > interested to support very old kernels (which may be somehow also true
> > for Buildroot, but I guess given that Buildroot proposes as of now
> > also that versions in the configuration stage, we should try to keep
> > all the tooling working with them as well)
> >
> > Many thanks!
> > Federico
> >
> >
> > Il giorno dom 31 gen 2021 alle ore 23:24 Thomas Petazzoni
> > <thomas.petazzoni@bootlin.com> ha scritto:
> > >
> > > Hello Federico,
> > >
> > > On Fri, 29 Jan 2021 06:03:12 +0100
> > > Federico Pellegrin <fede@evolware.org> wrote:
> > >
> > > > kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> > > >
> > > > This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
> > > >
> > > > Signed-off-by: Federico Pellegrin <fede@evolware.org>
> > >
> > > Thanks a lot for your contribution! However, we need all patches added
> > > to packages to have a proper commit log and Signed-off-by line, and be
> > > generated using git format-patch. Could you adjust your patch
> > > accordingly ?
> > >
> > > Also, did you submit this change to upstream kexec ?
> > >
> > > Thanks a lot!
> > >
> > > Thomas
> > > --
> > > Thomas Petazzoni, CTO, Bootlin
> > > Embedded Linux and Kernel engineering
> > > https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-02-03 10:15   ` Federico Pellegrin
@ 2021-02-23  8:30     ` Federico Pellegrin
  2021-02-23 12:32       ` Federico Pellegrin
  0 siblings, 1 reply; 9+ messages in thread
From: Federico Pellegrin @ 2021-02-23  8:30 UTC (permalink / raw)
  To: buildroot

Hi Thomas,
Just wanted to revive this thread/patch even if not with very useful
info: pinged a few times in kexec mailing list but nothing yet, just
one partecipant kindly forwarded directly also to the developer that
wrote the specific code, but then everything stopped still sadly (~3
week now since first patch post).

For the time being we keep it as a local patch, I'm not sure how you
proceed in buildroot in such cases.

Cheers,
Federico


Il giorno mer 3 feb 2021 alle ore 11:15 Federico Pellegrin
<fede@evolware.org> ha scritto:
>
> Hi Thomas,
> I apologize for the very bad patch I sent last time, very sorry I
> missed a level of patch indirection :-)
>
> I've just resubmitted a few moments ago, I hope it is fine this time.
>
> As for upstream: I contacted them on the kexec mailing list
> (describing the problem, proposing informally the solution and asking
> if a patch would be welcome) but got no response as of now. I will
> wait a bit more and ping in case. I'm not really sure if they are
> interested to support very old kernels (which may be somehow also true
> for Buildroot, but I guess given that Buildroot proposes as of now
> also that versions in the configuration stage, we should try to keep
> all the tooling working with them as well)
>
> Many thanks!
> Federico
>
>
> Il giorno dom 31 gen 2021 alle ore 23:24 Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> ha scritto:
> >
> > Hello Federico,
> >
> > On Fri, 29 Jan 2021 06:03:12 +0100
> > Federico Pellegrin <fede@evolware.org> wrote:
> >
> > > kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> > >
> > > This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
> > >
> > > Signed-off-by: Federico Pellegrin <fede@evolware.org>
> >
> > Thanks a lot for your contribution! However, we need all patches added
> > to packages to have a proper commit log and Signed-off-by line, and be
> > generated using git format-patch. Could you adjust your patch
> > accordingly ?
> >
> > Also, did you submit this change to upstream kexec ?
> >
> > Thanks a lot!
> >
> > Thomas
> > --
> > Thomas Petazzoni, CTO, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-01-31 22:24 ` Thomas Petazzoni
@ 2021-02-03 10:15   ` Federico Pellegrin
  2021-02-23  8:30     ` Federico Pellegrin
  0 siblings, 1 reply; 9+ messages in thread
From: Federico Pellegrin @ 2021-02-03 10:15 UTC (permalink / raw)
  To: buildroot

Hi Thomas,
I apologize for the very bad patch I sent last time, very sorry I
missed a level of patch indirection :-)

I've just resubmitted a few moments ago, I hope it is fine this time.

As for upstream: I contacted them on the kexec mailing list
(describing the problem, proposing informally the solution and asking
if a patch would be welcome) but got no response as of now. I will
wait a bit more and ping in case. I'm not really sure if they are
interested to support very old kernels (which may be somehow also true
for Buildroot, but I guess given that Buildroot proposes as of now
also that versions in the configuration stage, we should try to keep
all the tooling working with them as well)

Many thanks!
Federico


Il giorno dom 31 gen 2021 alle ore 23:24 Thomas Petazzoni
<thomas.petazzoni@bootlin.com> ha scritto:
>
> Hello Federico,
>
> On Fri, 29 Jan 2021 06:03:12 +0100
> Federico Pellegrin <fede@evolware.org> wrote:
>
> > kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> >
> > This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
> >
> > Signed-off-by: Federico Pellegrin <fede@evolware.org>
>
> Thanks a lot for your contribution! However, we need all patches added
> to packages to have a proper commit log and Signed-off-by line, and be
> generated using git format-patch. Could you adjust your patch
> accordingly ?
>
> Also, did you submit this change to upstream kexec ?
>
> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
  2021-01-29  5:03 Federico Pellegrin
@ 2021-01-31 22:24 ` Thomas Petazzoni
  2021-02-03 10:15   ` Federico Pellegrin
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2021-01-31 22:24 UTC (permalink / raw)
  To: buildroot

Hello Federico,

On Fri, 29 Jan 2021 06:03:12 +0100
Federico Pellegrin <fede@evolware.org> wrote:

> kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.
> 
> This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.
> 
> Signed-off-by: Federico Pellegrin <fede@evolware.org>

Thanks a lot for your contribution! However, we need all patches added
to packages to have a proper commit log and Signed-off-by line, and be
generated using git format-patch. Could you adjust your patch
accordingly ?

Also, did you submit this change to upstream kexec ?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels
@ 2021-01-29  5:03 Federico Pellegrin
  2021-01-31 22:24 ` Thomas Petazzoni
  0 siblings, 1 reply; 9+ messages in thread
From: Federico Pellegrin @ 2021-01-29  5:03 UTC (permalink / raw)
  To: buildroot

kexec build will fail on older kernels (pre 4.4) as the define VIDEO_CAPABILITY_64BIT_BASE was not present at that time.

This patch adds it, as per linux/include/uapi/linux/screen_info.h, if not present.

Signed-off-by: Federico Pellegrin <fede@evolware.org>
---
 ...-kexec-tools-video-capability-64bit-define.patch | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 package/kexec/0003-kexec-tools-video-capability-64bit-define.patch

diff --git a/package/kexec/0003-kexec-tools-video-capability-64bit-define.patch b/package/kexec/0003-kexec-tools-video-capability-64bit-define.patch
new file mode 100644
index 0000000000..93a66bb1a7
--- /dev/null
+++ b/package/kexec/0003-kexec-tools-video-capability-64bit-define.patch
@@ -0,0 +1,13 @@
+--- a/kexec/arch/i386/x86-linux-setup.c
++++ b/kexec/arch/i386/x86-linux-setup.c
+@@ -37,6 +37,10 @@
+ #include "x86-linux-setup.h"
+ #include "../../kexec/kexec-syscall.h"
+ 
++#ifndef VIDEO_CAPABILITY_64BIT_BASE
++#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1)	/* Frame buffer base is 64-bit */
++#endif
++
+ void init_linux_parameters(struct x86_linux_param_header *real_mode)
+ {
+ 	/* Fill in the values that are usually provided by the kernel. */
-- 
2.26.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-05-07  8:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-03 10:09 [Buildroot] [PATCH 1/1] package/kexec: fix build on pre 4.4 kernels Federico Pellegrin
2021-04-03  4:30 ` Federico Pellegrin
2021-05-04 19:45 ` Yann E. MORIN
2021-05-07  8:36   ` Peter Korsgaard
  -- strict thread matches above, loose matches on Subject: below --
2021-01-29  5:03 Federico Pellegrin
2021-01-31 22:24 ` Thomas Petazzoni
2021-02-03 10:15   ` Federico Pellegrin
2021-02-23  8:30     ` Federico Pellegrin
2021-02-23 12:32       ` Federico Pellegrin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.