|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [UNIKRAFT PATCH v2] include: Move sections.h to include/uk
Hi Simon,
Regardless whether these changes are needed or not by arch code (I'll
leave that for Ștefan to explain), the definitions in sections.h should
stay under include/uk in order to be accessible from everywhere.
Moreover, the definitions in it are related to neither arch or platform.
Cheers,
Costin
On 10/28/20 3:14 PM, Simon Kuenzer wrote:
> Hey Stefan, hey Costin,
>
> what is the reason that arch code needs sections.h? I can't read it from
> the commit message. Architecture code should only be the parts that are
> totally independent on the platform details. They are mostly helpers for
> arithmetics and CPU register definitions. I am concerned that
> architecture code may break when doing assumptions on symbol locations;
> imagine ASLR where locations are moved at runtime.
>
> The NX bit patch is upstream.
>
> Thanks,
>
> Simon
>
> On 26.10.20 17:14, stefanl.teodorescu@xxxxxxxxx wrote:
>> From: Stefan Teodorescu <stefanl.teodorescu@xxxxxxxxx>
>>
>> Move plat/common/include/uk/plat/common/sections.h to
>> include/uk/sections.h to be able to include it in arch code. This file
>> is platform independent, so it does not affect anything.
>>
>> Signed-off-by: Stefan Teodorescu <stefanl.teodorescu@xxxxxxxxx>
>> ---
>> {plat/common/include/uk/plat/common => include/uk}/sections.h | 0
>> plat/kvm/arm/entry64.S | 2 +-
>> plat/kvm/arm/setup.c | 2 +-
>> plat/kvm/memory.c | 2 +-
>> plat/kvm/x86/setup.c | 2 +-
>> plat/xen/arm/setup.c | 2 +-
>> plat/xen/include/xen-arm/mm.h | 2 +-
>> plat/xen/include/xen-x86/mm.h | 2 +-
>> plat/xen/memory.c | 2 +-
>> plat/xen/x86/mm.c | 2 +-
>> 10 files changed, 9 insertions(+), 9 deletions(-)
>> rename {plat/common/include/uk/plat/common => include/uk}/sections.h
>> (100%)
>>
>> diff --git a/plat/common/include/uk/plat/common/sections.h
>> b/include/uk/sections.h
>> similarity index 100%
>> rename from plat/common/include/uk/plat/common/sections.h
>> rename to include/uk/sections.h
>> diff --git a/plat/kvm/arm/entry64.S b/plat/kvm/arm/entry64.S
>> index c4de334c..8be3d59f 100644
>> --- a/plat/kvm/arm/entry64.S
>> +++ b/plat/kvm/arm/entry64.S
>> @@ -35,7 +35,7 @@
>> #include <uk/asm.h>
>> #include <kvm-arm/mm.h>
>> #include <arm/cpu_defs.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <uk/config.h>
>>
>> .global page_table_size
>> diff --git a/plat/kvm/arm/setup.c b/plat/kvm/arm/setup.c
>> index 41e63755..8513b48c 100644
>> --- a/plat/kvm/arm/setup.c
>> +++ b/plat/kvm/arm/setup.c
>> @@ -20,7 +20,7 @@
>> */
>> #include <uk/config.h>
>> #include <libfdt.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <kvm/console.h>
>> #include <kvm/config.h>
>> #include <uk/assert.h>
>> diff --git a/plat/kvm/memory.c b/plat/kvm/memory.c
>> index 1d9269ec..61d3e6ca 100644
>> --- a/plat/kvm/memory.c
>> +++ b/plat/kvm/memory.c
>> @@ -19,7 +19,7 @@
>> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
>> */
>>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <sys/types.h>
>> #include <uk/plat/memory.h>
>> #include <uk/assert.h>
>> diff --git a/plat/kvm/x86/setup.c b/plat/kvm/x86/setup.c
>> index 9c7a93a8..1cab0a63 100644
>> --- a/plat/kvm/x86/setup.c
>> +++ b/plat/kvm/x86/setup.c
>> @@ -27,7 +27,7 @@
>> */
>>
>> #include <string.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <x86/cpu.h>
>> #include <x86/traps.h>
>> #include <kvm/config.h>
>> diff --git a/plat/xen/arm/setup.c b/plat/xen/arm/setup.c
>> index 2df3b46c..bcbc939e 100644
>> --- a/plat/xen/arm/setup.c
>> +++ b/plat/xen/arm/setup.c
>> @@ -25,7 +25,7 @@
>> /* Ported from Mini-OS */
>>
>> #include <string.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <xen-arm/os.h>
>> #include <xen-arm/mm.h>
>> #include <xen/xen.h>
>> diff --git a/plat/xen/include/xen-arm/mm.h
>> b/plat/xen/include/xen-arm/mm.h
>> index 659de843..bbd31ddd 100644
>> --- a/plat/xen/include/xen-arm/mm.h
>> +++ b/plat/xen/include/xen-arm/mm.h
>> @@ -28,7 +28,7 @@
>> #define _ARCH_MM_H_
>>
>> #include <stdint.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <uk/arch/limits.h>
>>
>> typedef uint64_t paddr_t;
>> diff --git a/plat/xen/include/xen-x86/mm.h
>> b/plat/xen/include/xen-x86/mm.h
>> index ffbedb09..99ba6d05 100644
>> --- a/plat/xen/include/xen-x86/mm.h
>> +++ b/plat/xen/include/xen-x86/mm.h
>> @@ -25,7 +25,7 @@
>> #ifndef _ARCH_MM_H_
>> #define _ARCH_MM_H_
>>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #ifndef __ASSEMBLY__
>> #include <xen/xen.h>
>> #if defined(__i386__)
>> diff --git a/plat/xen/memory.c b/plat/xen/memory.c
>> index 8e7a7dda..27a317c4 100644
>> --- a/plat/xen/memory.c
>> +++ b/plat/xen/memory.c
>> @@ -34,7 +34,7 @@
>> */
>>
>> #include <string.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>>
>> #include <common/gnttab.h>
>> #if (defined __X86_32__) || (defined __X86_64__)
>> diff --git a/plat/xen/x86/mm.c b/plat/xen/x86/mm.c
>> index e006ab7f..9e352eed 100644
>> --- a/plat/xen/x86/mm.c
>> +++ b/plat/xen/x86/mm.c
>> @@ -36,7 +36,7 @@
>> */
>>
>> #include <string.h>
>> -#include <uk/plat/common/sections.h>
>> +#include <uk/sections.h>
>> #include <errno.h>
>> #include <uk/alloc.h>
>> #include <uk/plat/config.h>
>> --
>> 2.29.0
>>
>>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |