[U-Boot,v4,10/16] efi: sandbox: Add relocation constants

Message ID 20180516154233.21457-11-sjg@chromium.org
State Superseded
Delegated to: Alexander Graf
Headers show
Series
  • efi: Enable basic sandbox support for EFI loader
Related show

Commit Message

Simon Glass May 16, 2018, 3:42 p.m.
Add these so that we can build the EFI loader for sandbox. The values are
for x86_64 so potentially bogus. But we don't support relocation within
sandbox anyway.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v4: None
Changes in v3: None
Changes in v2: None

 lib/efi_loader/efi_runtime.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Alexander Graf May 24, 2018, 12:34 p.m. | #1
On 16.05.18 17:42, Simon Glass wrote:
> Add these so that we can build the EFI loader for sandbox. The values are
> for x86_64 so potentially bogus. But we don't support relocation within
> sandbox anyway.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  lib/efi_loader/efi_runtime.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
> index 52f1301d75b..ac02f64d967 100644
> --- a/lib/efi_loader/efi_runtime.c
> +++ b/lib/efi_loader/efi_runtime.c
> @@ -47,6 +47,9 @@ static efi_status_t __efi_runtime EFIAPI efi_invalid_parameter(void);
>  #include <asm/elf.h>
>  #define R_RELATIVE	R_386_RELATIVE
>  #define R_MASK		0xffULL
> +#elif defined(CONFIG_SANDBOX)

Same comment applies here, just change the ifdef above to match on
defined(__x86_64__) && defined(CONFIG_SANDBOX)


Alex

> +#define R_RELATIVE	8
> +#define R_MASK		0xffffffffULL
>  #else
>  #error Need to add relocation awareness
>  #endif
>
Simon Glass June 12, 2018, 5:27 a.m. | #2
Hi Alex,

On 24 May 2018 at 06:34, Alexander Graf <agraf@suse.de> wrote:
>
>
> On 16.05.18 17:42, Simon Glass wrote:
>> Add these so that we can build the EFI loader for sandbox. The values are
>> for x86_64 so potentially bogus. But we don't support relocation within
>> sandbox anyway.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>> Changes in v4: None
>> Changes in v3: None
>> Changes in v2: None
>>
>>  lib/efi_loader/efi_runtime.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
>> index 52f1301d75b..ac02f64d967 100644
>> --- a/lib/efi_loader/efi_runtime.c
>> +++ b/lib/efi_loader/efi_runtime.c
>> @@ -47,6 +47,9 @@ static efi_status_t __efi_runtime EFIAPI efi_invalid_parameter(void);
>>  #include <asm/elf.h>
>>  #define R_RELATIVE   R_386_RELATIVE
>>  #define R_MASK               0xffULL
>> +#elif defined(CONFIG_SANDBOX)
>
> Same comment applies here, just change the ifdef above to match on
> defined(__x86_64__) && defined(CONFIG_SANDBOX)

Yes, understood, same comment as on the other patch. We can always add
support for ARM, etc. when people can try it and test it.

Regards,
Simon
Alexander Graf June 12, 2018, 5:44 a.m. | #3
On 12.06.18 07:27, Simon Glass wrote:
> Hi Alex,
> 
> On 24 May 2018 at 06:34, Alexander Graf <agraf@suse.de> wrote:
>>
>>
>> On 16.05.18 17:42, Simon Glass wrote:
>>> Add these so that we can build the EFI loader for sandbox. The values are
>>> for x86_64 so potentially bogus. But we don't support relocation within
>>> sandbox anyway.
>>>
>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>> ---
>>>
>>> Changes in v4: None
>>> Changes in v3: None
>>> Changes in v2: None
>>>
>>>  lib/efi_loader/efi_runtime.c | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
>>> index 52f1301d75b..ac02f64d967 100644
>>> --- a/lib/efi_loader/efi_runtime.c
>>> +++ b/lib/efi_loader/efi_runtime.c
>>> @@ -47,6 +47,9 @@ static efi_status_t __efi_runtime EFIAPI efi_invalid_parameter(void);
>>>  #include <asm/elf.h>
>>>  #define R_RELATIVE   R_386_RELATIVE
>>>  #define R_MASK               0xffULL
>>> +#elif defined(CONFIG_SANDBOX)
>>
>> Same comment applies here, just change the ifdef above to match on
>> defined(__x86_64__) && defined(CONFIG_SANDBOX)
> 
> Yes, understood, same comment as on the other patch. We can always add
> support for ARM, etc. when people can try it and test it.

What would keep people from trying it?


Alex
Simon Glass June 12, 2018, 6:05 a.m. | #4
Hi Alex,

On 11 June 2018 at 23:44, Alexander Graf <agraf@suse.de> wrote:
>
>
> On 12.06.18 07:27, Simon Glass wrote:
>> Hi Alex,
>>
>> On 24 May 2018 at 06:34, Alexander Graf <agraf@suse.de> wrote:
>>>
>>>
>>> On 16.05.18 17:42, Simon Glass wrote:
>>>> Add these so that we can build the EFI loader for sandbox. The values are
>>>> for x86_64 so potentially bogus. But we don't support relocation within
>>>> sandbox anyway.
>>>>
>>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>>> ---
>>>>
>>>> Changes in v4: None
>>>> Changes in v3: None
>>>> Changes in v2: None
>>>>
>>>>  lib/efi_loader/efi_runtime.c | 3 +++
>>>>  1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
>>>> index 52f1301d75b..ac02f64d967 100644
>>>> --- a/lib/efi_loader/efi_runtime.c
>>>> +++ b/lib/efi_loader/efi_runtime.c
>>>> @@ -47,6 +47,9 @@ static efi_status_t __efi_runtime EFIAPI efi_invalid_parameter(void);
>>>>  #include <asm/elf.h>
>>>>  #define R_RELATIVE   R_386_RELATIVE
>>>>  #define R_MASK               0xffULL
>>>> +#elif defined(CONFIG_SANDBOX)
>>>
>>> Same comment applies here, just change the ifdef above to match on
>>> defined(__x86_64__) && defined(CONFIG_SANDBOX)
>>
>> Yes, understood, same comment as on the other patch. We can always add
>> support for ARM, etc. when people can try it and test it.
>
> What would keep people from trying it?

Time and inclination, most likely.

Regards,
Simon

Patch

diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 52f1301d75b..ac02f64d967 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -47,6 +47,9 @@  static efi_status_t __efi_runtime EFIAPI efi_invalid_parameter(void);
 #include <asm/elf.h>
 #define R_RELATIVE	R_386_RELATIVE
 #define R_MASK		0xffULL
+#elif defined(CONFIG_SANDBOX)
+#define R_RELATIVE	8
+#define R_MASK		0xffffffffULL
 #else
 #error Need to add relocation awareness
 #endif