diff options
| author | Tom Rini <[email protected]> | 2022-10-29 18:51:22 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2022-10-29 18:51:22 -0400 |
| commit | 6f02819cceb19c334f1dbd6eccefb4ccfae319f9 (patch) | |
| tree | ada26fe279934fbb18d69324010b3ce1f55ffb63 /arch | |
| parent | fb63362c63c7aeacb1dfde330ee8f692da7972f9 (diff) | |
| parent | f21954750aa8ed445ab83998bb099e366136c428 (diff) | |
Merge tag 'dm-pull-29oct22' of https://source.denx.de/u-boot/custodians/u-boot-dm
Fix pylibfdt warnings and use setuptools to build
Various minor changes to core dm and sandbox
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/sandbox/Kconfig | 18 | ||||
| -rw-r--r-- | arch/x86/cpu/i386/setjmp.S | 5 | ||||
| -rw-r--r-- | arch/x86/include/asm/setjmp.h | 6 |
3 files changed, 12 insertions, 17 deletions
diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig index 852a7c8bf2c..35508c6b292 100644 --- a/arch/sandbox/Kconfig +++ b/arch/sandbox/Kconfig @@ -13,7 +13,7 @@ config SYS_CPU config SANDBOX64 bool "Use 64-bit addresses" select PHYS_64BIT - select HOST_64BIT + depends on HOST_64BIT config SANDBOX_RAM_SIZE_MB int "RAM size in MiB" @@ -41,23 +41,11 @@ config SYS_CONFIG_NAME default "sandbox_spl" if SANDBOX_SPL default "sandbox" if !SANDBOX_SPL -choice - prompt "Run sandbox on 32/64-bit host" - default HOST_64BIT - help - Sandbox can be built on 32-bit and 64-bit hosts. - The default is to build on a 64-bit host and run - on a 64-bit host. If you want to run sandbox on - a 32-bit host, change it here. - config HOST_32BIT - bool "32-bit host" - depends on !PHYS_64BIT + def_bool ! $(cc-define,_LP64) config HOST_64BIT - bool "64-bit host" - -endchoice + def_bool $(cc-define,_LP64) config SANDBOX_CRASH_RESET bool "Reset on crash" diff --git a/arch/x86/cpu/i386/setjmp.S b/arch/x86/cpu/i386/setjmp.S index 40b10dc8df1..eceeafa7c8b 100644 --- a/arch/x86/cpu/i386/setjmp.S +++ b/arch/x86/cpu/i386/setjmp.S @@ -49,12 +49,17 @@ longjmp: xchgl %eax, %edx #else movl 4(%esp), %edx /* jmp_ptr address */ + movl 8(%esp), %eax /* Return value */ #endif movl (%edx), %ebx movl 4(%edx), %esp movl 8(%edx), %ebp movl 12(%edx), %esi movl 16(%edx), %edi + test %eax, %eax + jnz nz + inc %eax +nz: jmp *20(%edx) .size longjmp, .-longjmp diff --git a/arch/x86/include/asm/setjmp.h b/arch/x86/include/asm/setjmp.h index 49c36c1cc88..15915d0dc6b 100644 --- a/arch/x86/include/asm/setjmp.h +++ b/arch/x86/include/asm/setjmp.h @@ -34,7 +34,9 @@ struct jmp_buf_data { #endif -int setjmp(struct jmp_buf_data *jmp_buf); -void longjmp(struct jmp_buf_data *jmp_buf, int val); +typedef struct jmp_buf_data jmp_buf[1]; + +int setjmp(jmp_buf env); +void longjmp(jmp_buf env, int val); #endif |
