* Re: [PATCH 00/28] nios2 Linux kernel port
@ 2014-04-18 16:49 Ley Foon Tan
2014-04-18 18:38 ` Ley Foon Tan
0 siblings, 1 reply; 24+ messages in thread
From: Ley Foon Tan @ 2014-04-18 16:49 UTC (permalink / raw)
To: linux-arch, linux-kernel, linux-doc; +Cc: Ley Foon Tan, LeyFoon Tan, cltang
Hi all
I just found that 4 patches (03/28, 05/28,07/28 and 14/28) are missing
here, because the issue in Git v1.8.3.2. But, the cover letter is correct.
Do I need to resend the whole series (28 patches) or just the missing 4 patches?
Thanks.
Regards.
On Fri, Apr 18, 2014 at 8:26 PM, Ley Foon Tan <lftan@altera.com> wrote:
> This patchset adds the Linux kernel port for Nios II processor from Altera.
> The nios2 Linux port follows the guidance for new architecture ports using
> generic headers (including unistd.h).
>
> About Nios II Cores
> -------------------
> Nios II is a 32-bit embedded-processor architecture designed specifically for the
> Altera family of FPGAs.
> More information is available at http://www.altera.com/devices/processor/nios2/ni2-index.html
>
> Instruction set and architecture overview documents can be found on the
> following page:
> http://www.altera.com/literature/lit-nio2.jsp
>
> Nios2 GCC port is in mainline and and will be in the FSF 4.9 release.
>
> These patches are also available on this branch:
> git://git.rocketboards.org/linux-socfpga-next.git nios2-upstream
>
> Regards,
> Ley Foon
> --
> 1.8.3.2
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-18 16:49 [PATCH 00/28] nios2 Linux kernel port Ley Foon Tan @ 2014-04-18 18:38 ` Ley Foon Tan 0 siblings, 0 replies; 24+ messages in thread From: Ley Foon Tan @ 2014-04-18 18:38 UTC (permalink / raw) To: linux-arch, linux-kernel, linux-doc; +Cc: Ley Foon Tan, LeyFoon Tan, cltang Okay, I already submitted the remaining 4 patches. Thanks. On Sat, Apr 19, 2014 at 12:49 AM, Ley Foon Tan <lftan@altera.com> wrote: > Hi all > > I just found that 4 patches (03/28, 05/28,07/28 and 14/28) are missing > here, because the issue in Git v1.8.3.2. But, the cover letter is correct. > Do I need to resend the whole series (28 patches) or just the missing 4 patches? > Thanks. > > Regards. > > On Fri, Apr 18, 2014 at 8:26 PM, Ley Foon Tan <lftan@altera.com> wrote: >> This patchset adds the Linux kernel port for Nios II processor from Altera. >> The nios2 Linux port follows the guidance for new architecture ports using >> generic headers (including unistd.h). >> >> About Nios II Cores >> ------------------- >> Nios II is a 32-bit embedded-processor architecture designed specifically for the >> Altera family of FPGAs. >> More information is available at http://www.altera.com/devices/processor/nios2/ni2-index.html >> >> Instruction set and architecture overview documents can be found on the >> following page: >> http://www.altera.com/literature/lit-nio2.jsp >> >> Nios2 GCC port is in mainline and and will be in the FSF 4.9 release. >> >> These patches are also available on this branch: >> git://git.rocketboards.org/linux-socfpga-next.git nios2-upstream >> >> Regards, >> Ley Foon >> -- >> 1.8.3.2 >> ^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH 00/28] nios2 Linux kernel port @ 2014-04-18 12:26 Ley Foon Tan 2014-04-18 20:48 ` H. Peter Anvin 0 siblings, 1 reply; 24+ messages in thread From: Ley Foon Tan @ 2014-04-18 12:26 UTC (permalink / raw) To: linux-arch, linux-kernel, linux-doc; +Cc: Ley Foon Tan, lftan.linux, cltang This patchset adds the Linux kernel port for Nios II processor from Altera. The nios2 Linux port follows the guidance for new architecture ports using generic headers (including unistd.h). About Nios II Cores ------------------- Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. More information is available at http://www.altera.com/devices/processor/nios2/ni2-index.html Instruction set and architecture overview documents can be found on the following page: http://www.altera.com/literature/lit-nio2.jsp Nios2 GCC port is in mainline and and will be in the FSF 4.9 release. These patches are also available on this branch: git://git.rocketboards.org/linux-socfpga-next.git nios2-upstream Regards, Ley Foon Ley Foon Tan (28): nios2: Build infrastructure nios2: Assembly macros and definitions nios2: Kernel booting and initialization nios2: Exception handling nios2: Traps exception handling nios2: Memory management nios2: I/O Mapping nios2: MMU Fault handling nios2: Page table management nios2: Process management nios2: Cache handling nios2: TLB handling nios2: Interrupt handling nios2: DMA mapping API nios2: ELF definitions nios2: System calls handling nios2: Signal handling support nios2: Library functions nios2: Device tree support nios2: Time keeping nios2: Cpuinfo handling nios2: Miscellaneous header files nios2: Nios2 registers nios2: Module support nios2: ptrace support Add ELF machine define for Nios2 MAINTAINERS: Add nios2 maintainer Documentation: Add documentation for Nios2 architecture Documentation/nios2/README | 23 ++ MAINTAINERS | 7 + arch/nios2/Kconfig | 213 +++++++++++ arch/nios2/Kconfig.debug | 17 + arch/nios2/Makefile | 78 ++++ arch/nios2/boot/Makefile | 51 +++ arch/nios2/boot/dts/3c120_devboard.dts | 205 +++++++++++ arch/nios2/boot/linked_dtb.S | 19 + arch/nios2/configs/3c120_defconfig | 77 ++++ arch/nios2/include/asm/Kbuild | 66 ++++ arch/nios2/include/asm/asm-macros.h | 309 ++++++++++++++++ arch/nios2/include/asm/asm-offsets.h | 20 ++ arch/nios2/include/asm/cache.h | 36 ++ arch/nios2/include/asm/cacheflush.h | 48 +++ arch/nios2/include/asm/checksum.h | 78 ++++ arch/nios2/include/asm/cmpxchg.h | 61 ++++ arch/nios2/include/asm/cpuinfo.h | 58 +++ arch/nios2/include/asm/delay.h | 92 +++++ arch/nios2/include/asm/dma-mapping.h | 113 ++++++ arch/nios2/include/asm/elf.h | 101 ++++++ arch/nios2/include/asm/entry.h | 152 ++++++++ arch/nios2/include/asm/gpio.h | 23 ++ arch/nios2/include/asm/io.h | 227 ++++++++++++ arch/nios2/include/asm/irq.h | 34 ++ arch/nios2/include/asm/irqflags.h | 69 ++++ arch/nios2/include/asm/linkage.h | 25 ++ arch/nios2/include/asm/mmu.h | 18 + arch/nios2/include/asm/mmu_context.h | 66 ++++ arch/nios2/include/asm/mutex.h | 1 + arch/nios2/include/asm/page.h | 111 ++++++ arch/nios2/include/asm/pci.h | 25 ++ arch/nios2/include/asm/pgalloc.h | 86 +++++ arch/nios2/include/asm/pgtable-bits.h | 35 ++ arch/nios2/include/asm/pgtable.h | 304 ++++++++++++++++ arch/nios2/include/asm/processor.h | 102 ++++++ arch/nios2/include/asm/prom.h | 26 ++ arch/nios2/include/asm/ptrace.h | 40 +++ arch/nios2/include/asm/registers.h | 65 ++++ arch/nios2/include/asm/setup.h | 38 ++ arch/nios2/include/asm/signal.h | 22 ++ arch/nios2/include/asm/string.h | 24 ++ arch/nios2/include/asm/switch_to.h | 31 ++ arch/nios2/include/asm/syscalls.h | 25 ++ arch/nios2/include/asm/thread_info.h | 120 +++++++ arch/nios2/include/asm/timex.h | 27 ++ arch/nios2/include/asm/tlb.h | 34 ++ arch/nios2/include/asm/tlbflush.h | 46 +++ arch/nios2/include/asm/traps.h | 19 + arch/nios2/include/asm/uaccess.h | 233 ++++++++++++ arch/nios2/include/asm/ucontext.h | 34 ++ arch/nios2/include/uapi/asm/Kbuild | 14 + arch/nios2/include/uapi/asm/byteorder.h | 22 ++ arch/nios2/include/uapi/asm/elf.h | 67 ++++ arch/nios2/include/uapi/asm/ptrace.h | 123 +++++++ arch/nios2/include/uapi/asm/sigcontext.h | 30 ++ arch/nios2/include/uapi/asm/signal.h | 23 ++ arch/nios2/include/uapi/asm/stat.h | 23 ++ arch/nios2/include/uapi/asm/statfs.h | 24 ++ arch/nios2/include/uapi/asm/swab.h | 37 ++ arch/nios2/include/uapi/asm/unistd.h | 25 ++ arch/nios2/kernel/Makefile | 14 + arch/nios2/kernel/asm-offsets.c | 88 +++++ arch/nios2/kernel/cpuinfo.c | 201 +++++++++++ arch/nios2/kernel/entry.S | 551 ++++++++++++++++++++++++++++ arch/nios2/kernel/head.S | 175 +++++++++ arch/nios2/kernel/insnemu.S | 592 +++++++++++++++++++++++++++++++ arch/nios2/kernel/irq.c | 90 +++++ arch/nios2/kernel/misaligned.c | 319 +++++++++++++++++ arch/nios2/kernel/module.c | 135 +++++++ arch/nios2/kernel/nios2_ksyms.c | 35 ++ arch/nios2/kernel/process.c | 262 ++++++++++++++ arch/nios2/kernel/prom.c | 67 ++++ arch/nios2/kernel/ptrace.c | 198 +++++++++++ arch/nios2/kernel/setup.c | 214 +++++++++++ arch/nios2/kernel/signal.c | 364 +++++++++++++++++++ arch/nios2/kernel/sys_nios2.c | 72 ++++ arch/nios2/kernel/syscall_table.c | 29 ++ arch/nios2/kernel/time.c | 150 ++++++++ arch/nios2/kernel/traps.c | 185 ++++++++++ arch/nios2/kernel/vmlinux.lds.S | 75 ++++ arch/nios2/lib/Makefile | 1 + arch/nios2/lib/memcpy.c | 199 +++++++++++ arch/nios2/lib/memmove.c | 82 +++++ arch/nios2/lib/memset.c | 81 +++++ arch/nios2/mm/Makefile | 12 + arch/nios2/mm/cacheflush.c | 255 +++++++++++++ arch/nios2/mm/dma-mapping.c | 186 ++++++++++ arch/nios2/mm/extable.c | 25 ++ arch/nios2/mm/fault.c | 242 +++++++++++++ arch/nios2/mm/init.c | 152 ++++++++ arch/nios2/mm/ioremap.c | 188 ++++++++++ arch/nios2/mm/mmu_context.c | 116 ++++++ arch/nios2/mm/pgtable.c | 73 ++++ arch/nios2/mm/tlb.c | 274 ++++++++++++++ arch/nios2/mm/uaccess.c | 162 +++++++++ arch/nios2/platform/Kconfig.platform | 129 +++++++ arch/nios2/platform/Makefile | 1 + arch/nios2/platform/platform.c | 69 ++++ include/uapi/linux/elf-em.h | 1 + 99 files changed, 10186 insertions(+) create mode 100644 Documentation/nios2/README create mode 100644 arch/nios2/Kconfig create mode 100644 arch/nios2/Kconfig.debug create mode 100644 arch/nios2/Makefile create mode 100644 arch/nios2/boot/Makefile create mode 100644 arch/nios2/boot/dts/3c120_devboard.dts create mode 100644 arch/nios2/boot/linked_dtb.S create mode 100644 arch/nios2/configs/3c120_defconfig create mode 100644 arch/nios2/include/asm/Kbuild create mode 100644 arch/nios2/include/asm/asm-macros.h create mode 100644 arch/nios2/include/asm/asm-offsets.h create mode 100644 arch/nios2/include/asm/cache.h create mode 100644 arch/nios2/include/asm/cacheflush.h create mode 100644 arch/nios2/include/asm/checksum.h create mode 100644 arch/nios2/include/asm/cmpxchg.h create mode 100644 arch/nios2/include/asm/cpuinfo.h create mode 100644 arch/nios2/include/asm/delay.h create mode 100644 arch/nios2/include/asm/dma-mapping.h create mode 100644 arch/nios2/include/asm/elf.h create mode 100644 arch/nios2/include/asm/entry.h create mode 100644 arch/nios2/include/asm/gpio.h create mode 100644 arch/nios2/include/asm/io.h create mode 100644 arch/nios2/include/asm/irq.h create mode 100644 arch/nios2/include/asm/irqflags.h create mode 100644 arch/nios2/include/asm/linkage.h create mode 100644 arch/nios2/include/asm/mmu.h create mode 100644 arch/nios2/include/asm/mmu_context.h create mode 100644 arch/nios2/include/asm/mutex.h create mode 100644 arch/nios2/include/asm/page.h create mode 100644 arch/nios2/include/asm/pci.h create mode 100644 arch/nios2/include/asm/pgalloc.h create mode 100644 arch/nios2/include/asm/pgtable-bits.h create mode 100644 arch/nios2/include/asm/pgtable.h create mode 100644 arch/nios2/include/asm/processor.h create mode 100644 arch/nios2/include/asm/prom.h create mode 100644 arch/nios2/include/asm/ptrace.h create mode 100644 arch/nios2/include/asm/registers.h create mode 100644 arch/nios2/include/asm/setup.h create mode 100644 arch/nios2/include/asm/signal.h create mode 100644 arch/nios2/include/asm/string.h create mode 100644 arch/nios2/include/asm/switch_to.h create mode 100644 arch/nios2/include/asm/syscalls.h create mode 100644 arch/nios2/include/asm/thread_info.h create mode 100644 arch/nios2/include/asm/timex.h create mode 100644 arch/nios2/include/asm/tlb.h create mode 100644 arch/nios2/include/asm/tlbflush.h create mode 100644 arch/nios2/include/asm/traps.h create mode 100644 arch/nios2/include/asm/uaccess.h create mode 100644 arch/nios2/include/asm/ucontext.h create mode 100644 arch/nios2/include/uapi/asm/Kbuild create mode 100644 arch/nios2/include/uapi/asm/byteorder.h create mode 100644 arch/nios2/include/uapi/asm/elf.h create mode 100644 arch/nios2/include/uapi/asm/ptrace.h create mode 100644 arch/nios2/include/uapi/asm/sigcontext.h create mode 100644 arch/nios2/include/uapi/asm/signal.h create mode 100644 arch/nios2/include/uapi/asm/stat.h create mode 100644 arch/nios2/include/uapi/asm/statfs.h create mode 100644 arch/nios2/include/uapi/asm/swab.h create mode 100644 arch/nios2/include/uapi/asm/unistd.h create mode 100644 arch/nios2/kernel/Makefile create mode 100644 arch/nios2/kernel/asm-offsets.c create mode 100644 arch/nios2/kernel/cpuinfo.c create mode 100644 arch/nios2/kernel/entry.S create mode 100644 arch/nios2/kernel/head.S create mode 100644 arch/nios2/kernel/insnemu.S create mode 100644 arch/nios2/kernel/irq.c create mode 100644 arch/nios2/kernel/misaligned.c create mode 100644 arch/nios2/kernel/module.c create mode 100644 arch/nios2/kernel/nios2_ksyms.c create mode 100644 arch/nios2/kernel/process.c create mode 100644 arch/nios2/kernel/prom.c create mode 100644 arch/nios2/kernel/ptrace.c create mode 100644 arch/nios2/kernel/setup.c create mode 100644 arch/nios2/kernel/signal.c create mode 100644 arch/nios2/kernel/sys_nios2.c create mode 100644 arch/nios2/kernel/syscall_table.c create mode 100644 arch/nios2/kernel/time.c create mode 100644 arch/nios2/kernel/traps.c create mode 100644 arch/nios2/kernel/vmlinux.lds.S create mode 100644 arch/nios2/lib/Makefile create mode 100644 arch/nios2/lib/memcpy.c create mode 100644 arch/nios2/lib/memmove.c create mode 100644 arch/nios2/lib/memset.c create mode 100644 arch/nios2/mm/Makefile create mode 100644 arch/nios2/mm/cacheflush.c create mode 100644 arch/nios2/mm/dma-mapping.c create mode 100644 arch/nios2/mm/extable.c create mode 100644 arch/nios2/mm/fault.c create mode 100644 arch/nios2/mm/init.c create mode 100644 arch/nios2/mm/ioremap.c create mode 100644 arch/nios2/mm/mmu_context.c create mode 100644 arch/nios2/mm/pgtable.c create mode 100644 arch/nios2/mm/tlb.c create mode 100644 arch/nios2/mm/uaccess.c create mode 100644 arch/nios2/platform/Kconfig.platform create mode 100644 arch/nios2/platform/Makefile create mode 100644 arch/nios2/platform/platform.c -- 1.8.3.2 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-18 12:26 Ley Foon Tan @ 2014-04-18 20:48 ` H. Peter Anvin 2014-04-19 15:30 ` Arnd Bergmann 0 siblings, 1 reply; 24+ messages in thread From: H. Peter Anvin @ 2014-04-18 20:48 UTC (permalink / raw) To: Ley Foon Tan, linux-arch, linux-kernel, linux-doc Cc: lftan.linux, cltang, Arnd Bergmann On 04/18/2014 05:26 AM, Ley Foon Tan wrote: > This patchset adds the Linux kernel port for Nios II processor from Altera. > The nios2 Linux port follows the guidance for new architecture ports using > generic headers (including unistd.h). Did the generic headers ever get updated to match Linus' guidance that any new architecture ports should use a 64-bit time_t? -hpa ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-18 20:48 ` H. Peter Anvin @ 2014-04-19 15:30 ` Arnd Bergmann 2014-04-21 5:23 ` Ley Foon Tan 0 siblings, 1 reply; 24+ messages in thread From: Arnd Bergmann @ 2014-04-19 15:30 UTC (permalink / raw) To: H. Peter Anvin Cc: Ley Foon Tan, linux-arch, linux-kernel, linux-doc, lftan.linux, cltang On Friday 18 April 2014, H. Peter Anvin wrote: > On 04/18/2014 05:26 AM, Ley Foon Tan wrote: > > This patchset adds the Linux kernel port for Nios II processor from Altera. > > The nios2 Linux port follows the guidance for new architecture ports using > > generic headers (including unistd.h). > > Did the generic headers ever get updated to match Linus' guidance that > any new architecture ports should use a 64-bit time_t? No, unfortunately not. With my rule that every architecture that gets added needs to clean up asm-generic some more, to make it easier to add the next one, we should probably do for nios2. Arnd ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-19 15:30 ` Arnd Bergmann @ 2014-04-21 5:23 ` Ley Foon Tan 2014-04-21 5:31 ` H. Peter Anvin 0 siblings, 1 reply; 24+ messages in thread From: Ley Foon Tan @ 2014-04-21 5:23 UTC (permalink / raw) To: Arnd Bergmann; +Cc: H. Peter Anvin, linux-arch, linux-kernel, linux-doc, cltang On Sat, Apr 19, 2014 at 11:30 PM, Arnd Bergmann <arnd@arndb.de> wrote: > On Friday 18 April 2014, H. Peter Anvin wrote: >> Did the generic headers ever get updated to match Linus' guidance that >> any new architecture ports should use a 64-bit time_t? > > No, unfortunately not. With my rule that every architecture that gets > added needs to clean up asm-generic some more, to make it easier to add > the next one, we should probably do for nios2. > > Arnd Can you give me the documentation on this new guidance and point me any architecture have implemented this? Thanks. Ley Foon ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-21 5:23 ` Ley Foon Tan @ 2014-04-21 5:31 ` H. Peter Anvin 2014-04-21 8:14 ` Chung-Lin Tang 2014-04-22 10:37 ` Ley Foon Tan 0 siblings, 2 replies; 24+ messages in thread From: H. Peter Anvin @ 2014-04-21 5:31 UTC (permalink / raw) To: Ley Foon Tan, Arnd Bergmann; +Cc: linux-arch, linux-kernel, linux-doc, cltang On 04/20/2014 10:23 PM, Ley Foon Tan wrote: > On Sat, Apr 19, 2014 at 11:30 PM, Arnd Bergmann <arnd@arndb.de> wrote: >> On Friday 18 April 2014, H. Peter Anvin wrote: >>> Did the generic headers ever get updated to match Linus' guidance that >>> any new architecture ports should use a 64-bit time_t? >> >> No, unfortunately not. With my rule that every architecture that gets >> added needs to clean up asm-generic some more, to make it easier to add >> the next one, we should probably do for nios2. >> >> Arnd > > Can you give me the documentation on this new guidance and point me > any architecture have implemented this? > Thanks. > We implemented it in the x32 ABI for x86. In generic code this is keyed by COMPAT_USE_64BIT_TIME, but in your case it isn't actually a matter of compat, so it should be easier. See this thread including the discussion about time_t: https://lkml.org/lkml/2011/8/26/415 -hpa ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-21 5:31 ` H. Peter Anvin @ 2014-04-21 8:14 ` Chung-Lin Tang 2014-04-22 10:37 ` Ley Foon Tan 1 sibling, 0 replies; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-21 8:14 UTC (permalink / raw) To: H. Peter Anvin, Ley Foon Tan, Arnd Bergmann Cc: linux-arch, linux-kernel, linux-doc, Chung-Lin Tang On 14/4/21 1:31 PM, H. Peter Anvin wrote: > On 04/20/2014 10:23 PM, Ley Foon Tan wrote: >> On Sat, Apr 19, 2014 at 11:30 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>> On Friday 18 April 2014, H. Peter Anvin wrote: >>>> Did the generic headers ever get updated to match Linus' guidance that >>>> any new architecture ports should use a 64-bit time_t? >>> >>> No, unfortunately not. With my rule that every architecture that gets >>> added needs to clean up asm-generic some more, to make it easier to add >>> the next one, we should probably do for nios2. >>> >>> Arnd >> >> Can you give me the documentation on this new guidance and point me >> any architecture have implemented this? >> Thanks. >> > > We implemented it in the x32 ABI for x86. In generic code this is keyed > by COMPAT_USE_64BIT_TIME, but in your case it isn't actually a matter of > compat, so it should be easier. > > See this thread including the discussion about time_t: > > https://lkml.org/lkml/2011/8/26/415 > > -hpa I'm not sure why we need CONFIG_USE_64BIT_TIME? We don't have any 32-on-64 problems. My understanding of what Arnd meant, was to clean up asm-generic/posix_types.h such that for example, time_t should be defined as a 'long long' type, which should be 64-bit almost everywhere. At least AFAIK, that should work for all current asm-generic users. Thanks, Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-21 5:31 ` H. Peter Anvin 2014-04-21 8:14 ` Chung-Lin Tang @ 2014-04-22 10:37 ` Ley Foon Tan 2014-04-22 10:56 ` Arnd Bergmann 1 sibling, 1 reply; 24+ messages in thread From: Ley Foon Tan @ 2014-04-22 10:37 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Arnd Bergmann, Linux-Arch, linux-kernel, linux-doc, cltang Hi Arnd and Peter Anvin, Other than 64-bit time_t, clock_t and suseconds_t, can you confirm that we don't need to have 64 bit off_t? See detail in link below. I can submit the patches for 64-bit time changes (include/asm-generic/posix_types.h and other archs) if everyone is agreed on this. Excerpt from https://lkml.org/lkml/2012/11/14/358 : "Obviously, we want to use 64-bit off_t, but this is achieved already through loff_t, which is used in all places in the asm-generic ABI anyway (the syscalls using off_t are stripped out). I don't think we want to have the other ones set to 64 bit on ARC or Meta, although I'm not 100% sure about ino_t and nlink_t. " Thanks. Regards Ley Foon On Mon, Apr 21, 2014 at 1:31 PM, H. Peter Anvin <hpa@zytor.com> wrote: > On 04/20/2014 10:23 PM, Ley Foon Tan wrote: >> On Sat, Apr 19, 2014 at 11:30 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>> On Friday 18 April 2014, H. Peter Anvin wrote: >>>> Did the generic headers ever get updated to match Linus' guidance that >>>> any new architecture ports should use a 64-bit time_t? >>> >>> No, unfortunately not. With my rule that every architecture that gets >>> added needs to clean up asm-generic some more, to make it easier to add >>> the next one, we should probably do for nios2. >>> >>> Arnd >> >> Can you give me the documentation on this new guidance and point me >> any architecture have implemented this? >> Thanks. >> > > We implemented it in the x32 ABI for x86. In generic code this is keyed > by COMPAT_USE_64BIT_TIME, but in your case it isn't actually a matter of > compat, so it should be easier. > > See this thread including the discussion about time_t: > > https://lkml.org/lkml/2011/8/26/415 > > -hpa ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-22 10:37 ` Ley Foon Tan @ 2014-04-22 10:56 ` Arnd Bergmann 2014-04-22 11:20 ` Ley Foon Tan 0 siblings, 1 reply; 24+ messages in thread From: Arnd Bergmann @ 2014-04-22 10:56 UTC (permalink / raw) To: Ley Foon Tan; +Cc: H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, cltang On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: > Hi Arnd and Peter Anvin, > > Other than 64-bit time_t, clock_t and suseconds_t, can you confirm > that we don't need to have 64 bit off_t? See detail in link below. > I can submit the patches for 64-bit time changes > (include/asm-generic/posix_types.h and other archs) if everyone is > agreed on this. Yes. > Excerpt from https://lkml.org/lkml/2012/11/14/358 : > "Obviously, we want to use 64-bit off_t, but this is achieved already > through loff_t, which is used in all places in the asm-generic > ABI anyway (the syscalls using off_t are stripped out). I don't > think we want to have the other ones set to 64 bit on ARC or Meta, > although I'm not 100% sure about ino_t and nlink_t. " This is all still true. You should have no syscall using 'off_t', only loff_t. I still don't know whether we would want 32 or 64 bit ino_t and nlink_t for new architectures. It seems it would gain very little, but have a noticeable overhead. Arnd ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-22 10:56 ` Arnd Bergmann @ 2014-04-22 11:20 ` Ley Foon Tan 2014-04-22 14:48 ` Chung-Lin Tang 2014-04-23 17:59 ` Chung-Lin Tang 0 siblings, 2 replies; 24+ messages in thread From: Ley Foon Tan @ 2014-04-22 11:20 UTC (permalink / raw) To: Arnd Bergmann; +Cc: H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, cltang On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: > On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >> Hi Arnd and Peter Anvin, >> >> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >> that we don't need to have 64 bit off_t? See detail in link below. >> I can submit the patches for 64-bit time changes >> (include/asm-generic/posix_types.h and other archs) if everyone is >> agreed on this. > > Yes. Okay, will doing that. > >> Excerpt from https://lkml.org/lkml/2012/11/14/358 : >> "Obviously, we want to use 64-bit off_t, but this is achieved already >> through loff_t, which is used in all places in the asm-generic >> ABI anyway (the syscalls using off_t are stripped out). I don't >> think we want to have the other ones set to 64 bit on ARC or Meta, >> although I'm not 100% sure about ino_t and nlink_t. " > > This is all still true. You should have no syscall using 'off_t', > only loff_t. > > I still don't know whether we would want 32 or 64 bit ino_t and nlink_t > for new architectures. It seems it would gain very little, but have > a noticeable overhead. Anyone have comment on this? Chung-Lin (in CC list) is our nios2 toolchain maintainer. Do you have any comment for 32 or 64 bit ino_t and nlink_t? We will update the toolchain to support 64-bit time_t, so we hope that any other toolchain change can happen in one time. Thanks Regards Ley Foon ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-22 11:20 ` Ley Foon Tan @ 2014-04-22 14:48 ` Chung-Lin Tang 2014-04-23 17:59 ` Chung-Lin Tang 1 sibling, 0 replies; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-22 14:48 UTC (permalink / raw) To: Ley Foon Tan, Arnd Bergmann Cc: H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc On 2014/4/22 07:20 PM, Ley Foon Tan wrote: > On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>> Hi Arnd and Peter Anvin, >>> >>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>> that we don't need to have 64 bit off_t? See detail in link below. >>> I can submit the patches for 64-bit time changes >>> (include/asm-generic/posix_types.h and other archs) if everyone is >>> agreed on this. >> >> Yes. > Okay, will doing that. > >> >>> Excerpt from https://lkml.org/lkml/2012/11/14/358 : >>> "Obviously, we want to use 64-bit off_t, but this is achieved already >>> through loff_t, which is used in all places in the asm-generic >>> ABI anyway (the syscalls using off_t are stripped out). I don't >>> think we want to have the other ones set to 64 bit on ARC or Meta, >>> although I'm not 100% sure about ino_t and nlink_t. " >> >> This is all still true. You should have no syscall using 'off_t', >> only loff_t. >> >> I still don't know whether we would want 32 or 64 bit ino_t and nlink_t >> for new architectures. It seems it would gain very little, but have >> a noticeable overhead. > Anyone have comment on this? > Chung-Lin (in CC list) is our nios2 toolchain maintainer. Do you have > any comment for 32 or 64 bit ino_t and nlink_t? > We will update the toolchain to support 64-bit time_t, so we hope that > any other toolchain change can happen in one time. For ino_t, 32-bit users of linux-generic glibc already use struct stat64, stat64(), etc. to align with 64-bit targets, so in terms of the glibc/kernel interface it doesn't matter much. The in-kernel usage of the ino_t type should be of more concern here. nlink_t appears to be always defined as u32 in <linux/types.h>, not sure if changing it to arch-overridable is reasonable. Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-22 11:20 ` Ley Foon Tan 2014-04-22 14:48 ` Chung-Lin Tang @ 2014-04-23 17:59 ` Chung-Lin Tang 2014-04-23 18:15 ` Pinski, Andrew 1 sibling, 1 reply; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-23 17:59 UTC (permalink / raw) To: Ley Foon Tan, Arnd Bergmann Cc: H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Catalin.Marinas, Andrew Pinski On 2014/4/22 07:20 PM, Ley Foon Tan wrote: > On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >> > On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>> >> Hi Arnd and Peter Anvin, >>> >> >>> >> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>> >> that we don't need to have 64 bit off_t? See detail in link below. >>> >> I can submit the patches for 64-bit time changes >>> >> (include/asm-generic/posix_types.h and other archs) if everyone is >>> >> agreed on this. >> > >> > Yes. > Okay, will doing that. I believe that arm64 ILP32 will also be affected. What is the status of this configuration? Has the glibc/kernel ABI been finalized? Thanks, Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-23 17:59 ` Chung-Lin Tang @ 2014-04-23 18:15 ` Pinski, Andrew 2014-04-23 19:21 ` H. Peter Anvin 2014-04-24 6:26 ` Chung-Lin Tang 0 siblings, 2 replies; 24+ messages in thread From: Pinski, Andrew @ 2014-04-23 18:15 UTC (permalink / raw) To: Chung-Lin Tang Cc: Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Catalin.Marinas, Andrew Pinski > On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: > >> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>> Hi Arnd and Peter Anvin, >>>>>> >>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>> I can submit the patches for 64-bit time changes >>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>> agreed on this. >>>> >>>> Yes. >> Okay, will doing that. > > I believe that arm64 ILP32 will also be affected. What is the status of > this configuration? Has the glibc/kernel ABI been finalized? Not yet. I am still working out the signal handling part. But we already agreed on 64bit time_t, clock_t, and suseconds_t. And we agreed to a 64bit offset_t too. On a related note suseconds in the timespec in posix is defined to be long. So it would nice if the kernel ignores the upper 32bits so we (glibc developers) can fix this for new targets including x32 and arm64/ilp32. Thanks, Andrew > > Thanks, > Chung-Lin > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-23 18:15 ` Pinski, Andrew @ 2014-04-23 19:21 ` H. Peter Anvin 2014-04-24 6:26 ` Chung-Lin Tang 1 sibling, 0 replies; 24+ messages in thread From: H. Peter Anvin @ 2014-04-23 19:21 UTC (permalink / raw) To: Pinski, Andrew, Chung-Lin Tang Cc: Ley Foon Tan, Arnd Bergmann, Linux-Arch, linux-kernel, linux-doc, Catalin.Marinas, Andrew Pinski I think Linuxs said we should just fix POSIX on that front. On April 23, 2014 11:15:34 AM PDT, "Pinski, Andrew" <Andrew.Pinski@caviumnetworks.com> wrote: > > >> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" ><cltang@codesourcery.com> wrote: >> >>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> >wrote: >>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>> Hi Arnd and Peter Anvin, >>>>>>> >>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you >confirm >>>>>>> that we don't need to have 64 bit off_t? See detail in link >below. >>>>>>> I can submit the patches for 64-bit time changes >>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone >is >>>>>>> agreed on this. >>>>> >>>>> Yes. >>> Okay, will doing that. >> >> I believe that arm64 ILP32 will also be affected. What is the status >of >> this configuration? Has the glibc/kernel ABI been finalized? > >Not yet. I am still working out the signal handling part. But we >already agreed on 64bit time_t, clock_t, and suseconds_t. And we >agreed to a 64bit offset_t too. > >On a related note suseconds in the timespec in posix is defined to be >long. So it would nice if the kernel ignores the upper 32bits so we >(glibc developers) can fix this for new targets including x32 and >arm64/ilp32. > >Thanks, >Andrew > >> >> Thanks, >> Chung-Lin >> -- Sent from my mobile phone. Please pardon brevity and lack of formatting. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-23 18:15 ` Pinski, Andrew 2014-04-23 19:21 ` H. Peter Anvin @ 2014-04-24 6:26 ` Chung-Lin Tang 2014-04-24 8:55 ` Chung-Lin Tang 1 sibling, 1 reply; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-24 6:26 UTC (permalink / raw) To: Pinski, Andrew Cc: Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Catalin.Marinas, Andrew Pinski On 2014/4/24 上午 02:15, Pinski, Andrew wrote: > >> > On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >> > >>> >> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>> >> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>> >>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>> >>>>>> Hi Arnd and Peter Anvin, >>>>>>> >>>>>> >>>>>>> >>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>> >>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>> >>>>>> I can submit the patches for 64-bit time changes >>>>>>> >>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>> >>>>>> agreed on this. >>>>> >>>> >>>>> >>>> Yes. >>> >> Okay, will doing that. >> > >> > I believe that arm64 ILP32 will also be affected. What is the status of >> > this configuration? Has the glibc/kernel ABI been finalized? > Not yet. I am still working out the signal handling part. But we already agreed on 64bit time_t, clock_t, and suseconds_t. And we agreed to a 64bit offset_t too. > > On a related note suseconds in the timespec in posix is defined to be long. So it would nice if the kernel ignores the upper 32bits so we (glibc developers) can fix this for new targets including x32 and arm64/ilp32. Hmm, but that means for purely 32-bit architectures like nios2, which unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit type in the kernel is simply wasted. Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-24 6:26 ` Chung-Lin Tang @ 2014-04-24 8:55 ` Chung-Lin Tang 2014-04-24 15:28 ` Catalin Marinas 0 siblings, 1 reply; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-24 8:55 UTC (permalink / raw) To: Pinski, Andrew Cc: Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Catalin.Marinas, Andrew Pinski, Tang, Chung-Lin On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: > On 2014/4/24 上午 02:15, Pinski, Andrew wrote: >> >>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>> >>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>>>>>>>>> Hi Arnd and Peter Anvin, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>>>>>>>>> I can submit the patches for 64-bit time changes >>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>>>>>>>>> agreed on this. >>>>>>>>>> >>>>>>>>>> Yes. >>>>>> Okay, will doing that. >>>> >>>> I believe that arm64 ILP32 will also be affected. What is the status of >>>> this configuration? Has the glibc/kernel ABI been finalized? >> Not yet. I am still working out the signal handling part. But we already agreed on 64bit time_t, clock_t, and suseconds_t. And we agreed to a 64bit offset_t too. >> >> On a related note suseconds in the timespec in posix is defined to be long. So it would nice if the kernel ignores the upper 32bits so we (glibc developers) can fix this for new targets including x32 and arm64/ilp32. > > Hmm, but that means for purely 32-bit architectures like nios2, which > unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit > type in the kernel is simply wasted. > > Chung-Lin The more I think of this, the more I feel that suseconds_t should jsut be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit kernel should be using compat_* code paths, something like a COMPAT_USE_32BIT_SUSECONDS case. suseconds_t is for micro-seconds in struct timeval, 32-bit is more than enough. Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-24 8:55 ` Chung-Lin Tang @ 2014-04-24 15:28 ` Catalin Marinas 2014-04-24 18:37 ` Chung-Lin Tang 0 siblings, 1 reply; 24+ messages in thread From: Catalin Marinas @ 2014-04-24 15:28 UTC (permalink / raw) To: Chung-Lin Tang Cc: Pinski, Andrew, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski, Tang, Chung-Lin On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote: > On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: > > On 2014/4/24 上午 02:15, Pinski, Andrew wrote: > >> > >>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: > >>>> > >>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: > >>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: > >>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: > >>>>>>>>>>>>>> Hi Arnd and Peter Anvin, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm > >>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. > >>>>>>>>>>>>>> I can submit the patches for 64-bit time changes > >>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is > >>>>>>>>>>>>>> agreed on this. > >>>>>>>>>> > >>>>>>>>>> Yes. > >>>>>> Okay, will doing that. > >>>> > >>>> I believe that arm64 ILP32 will also be affected. What is the status of > >>>> this configuration? Has the glibc/kernel ABI been finalized? > >> Not yet. I am still working out the signal handling part. But we > >> already agreed on 64bit time_t, clock_t, and suseconds_t. And we > >> agreed to a 64bit offset_t too. > >> > >> On a related note suseconds in the timespec in posix is defined to > >> be long. So it would nice if the kernel ignores the upper 32bits so > >> we (glibc developers) can fix this for new targets including x32 > >> and arm64/ilp32. > > > > Hmm, but that means for purely 32-bit architectures like nios2, which > > unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit > > type in the kernel is simply wasted. > > The more I think of this, the more I feel that suseconds_t should jsut > be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit > kernel should be using compat_* code paths, something like a > COMPAT_USE_32BIT_SUSECONDS case. ILP32 mode should use LP64 syscalls as much as possible and that's the aim with arm64 as well (of course, we still have a few that wouldn't be possible and we route them via compat). But here if time_t is 64-bit while susecconds_t is 32-bit, the compat code wouldn't help. -- Catalin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-24 15:28 ` Catalin Marinas @ 2014-04-24 18:37 ` Chung-Lin Tang 2014-04-24 18:42 ` Pinski, Andrew 0 siblings, 1 reply; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-24 18:37 UTC (permalink / raw) To: Catalin Marinas Cc: Pinski, Andrew, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski, Tang, Chung-Lin On 2014/4/24 11:28 PM, Catalin Marinas wrote: > On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote: >> On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: >>> On 2014/4/24 上午 02:15, Pinski, Andrew wrote: >>>> >>>>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>>>> >>>>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>>>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>>>>>>>>>>> Hi Arnd and Peter Anvin, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>>>>>>>>>>> I can submit the patches for 64-bit time changes >>>>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>>>>>>>>>>> agreed on this. >>>>>>>>>>>> >>>>>>>>>>>> Yes. >>>>>>>> Okay, will doing that. >>>>>> >>>>>> I believe that arm64 ILP32 will also be affected. What is the status of >>>>>> this configuration? Has the glibc/kernel ABI been finalized? >>>> Not yet. I am still working out the signal handling part. But we >>>> already agreed on 64bit time_t, clock_t, and suseconds_t. And we >>>> agreed to a 64bit offset_t too. >>>> >>>> On a related note suseconds in the timespec in posix is defined to >>>> be long. So it would nice if the kernel ignores the upper 32bits so >>>> we (glibc developers) can fix this for new targets including x32 >>>> and arm64/ilp32. >>> >>> Hmm, but that means for purely 32-bit architectures like nios2, which >>> unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit >>> type in the kernel is simply wasted. >> >> The more I think of this, the more I feel that suseconds_t should jsut >> be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit >> kernel should be using compat_* code paths, something like a >> COMPAT_USE_32BIT_SUSECONDS case. > > ILP32 mode should use LP64 syscalls as much as possible and that's the > aim with arm64 as well (of course, we still have a few that wouldn't be > possible and we route them via compat). > > But here if time_t is 64-bit while susecconds_t is 32-bit, the compat > code wouldn't help. Why not? You can define the arm64 'struct compat_timeval' with suseconds_t as s32, and add the 32<-->64 case in the compat_get/put_timeval path, triggered when the process is ILP32 (test wrapped in the above hypothetical COMPAT_USE_32BIT_SUSECONDS macro). Similar to how x32 does COMPAT_USE_64BIT_TIME. Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-24 18:37 ` Chung-Lin Tang @ 2014-04-24 18:42 ` Pinski, Andrew 2014-04-25 6:06 ` Chung-Lin Tang 0 siblings, 1 reply; 24+ messages in thread From: Pinski, Andrew @ 2014-04-24 18:42 UTC (permalink / raw) To: Chung-Lin Tang Cc: Catalin Marinas, Pinski, Andrew, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski, Tang, Chung-Lin > On Apr 24, 2014, at 11:37 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: > >> On 2014/4/24 11:28 PM, Catalin Marinas wrote: >>> On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote: >>>> On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: >>>>> On 2014/4/24 上午 02:15, Pinski, Andrew wrote: >>>>> >>>>>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>>>>> >>>>>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>>>>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>>>>>>>>>>>> Hi Arnd and Peter Anvin, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>>>>>>>>>>>> I can submit the patches for 64-bit time changes >>>>>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>>>>>>>>>>>> agreed on this. >>>>>>>>>>>>> >>>>>>>>>>>>> Yes. >>>>>>>>> Okay, will doing that. >>>>>>> >>>>>>> I believe that arm64 ILP32 will also be affected. What is the status of >>>>>>> this configuration? Has the glibc/kernel ABI been finalized? >>>>> Not yet. I am still working out the signal handling part. But we >>>>> already agreed on 64bit time_t, clock_t, and suseconds_t. And we >>>>> agreed to a 64bit offset_t too. >>>>> >>>>> On a related note suseconds in the timespec in posix is defined to >>>>> be long. So it would nice if the kernel ignores the upper 32bits so >>>>> we (glibc developers) can fix this for new targets including x32 >>>>> and arm64/ilp32. >>>> >>>> Hmm, but that means for purely 32-bit architectures like nios2, which >>>> unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit >>>> type in the kernel is simply wasted. >>> >>> The more I think of this, the more I feel that suseconds_t should jsut >>> be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit >>> kernel should be using compat_* code paths, something like a >>> COMPAT_USE_32BIT_SUSECONDS case. >> >> ILP32 mode should use LP64 syscalls as much as possible and that's the >> aim with arm64 as well (of course, we still have a few that wouldn't be >> possible and we route them via compat). >> >> But here if time_t is 64-bit while susecconds_t is 32-bit, the compat >> code wouldn't help. > > Why not? You can define the arm64 'struct compat_timeval' with > suseconds_t as s32, and add the 32<-->64 case in the > compat_get/put_timeval path, triggered when the process is ILP32 (test > wrapped in the above hypothetical COMPAT_USE_32BIT_SUSECONDS macro). > Similar to how x32 does COMPAT_USE_64BIT_TIME. We would three timeval then. One for aarch32, one for lp64 and one for ilp32. We really don't want three. Two is already one too many in my mind after developing the ilp32 syscall abi. Thanks, Andrew > > Chung-Lin > > > > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-24 18:42 ` Pinski, Andrew @ 2014-04-25 6:06 ` Chung-Lin Tang 2014-04-25 8:37 ` Pinski, Andrew 2014-04-25 8:49 ` Geert Uytterhoeven 0 siblings, 2 replies; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-25 6:06 UTC (permalink / raw) To: Pinski, Andrew Cc: Catalin Marinas, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski, Tang, Chung-Lin On 2014/4/25 02:42 AM, Pinski, Andrew wrote: > > >> On Apr 24, 2014, at 11:37 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >> >>> On 2014/4/24 11:28 PM, Catalin Marinas wrote: >>>> On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote: >>>>> On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: >>>>>> On 2014/4/24 上午 02:15, Pinski, Andrew wrote: >>>>>> >>>>>>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>>>>>> >>>>>>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>>>>>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>>>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>>>>>>>>>>>>> Hi Arnd and Peter Anvin, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>>>>>>>>>>>>> I can submit the patches for 64-bit time changes >>>>>>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>>>>>>>>>>>>> agreed on this. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Yes. >>>>>>>>>> Okay, will doing that. >>>>>>>> >>>>>>>> I believe that arm64 ILP32 will also be affected. What is the status of >>>>>>>> this configuration? Has the glibc/kernel ABI been finalized? >>>>>> Not yet. I am still working out the signal handling part. But we >>>>>> already agreed on 64bit time_t, clock_t, and suseconds_t. And we >>>>>> agreed to a 64bit offset_t too. >>>>>> >>>>>> On a related note suseconds in the timespec in posix is defined to >>>>>> be long. So it would nice if the kernel ignores the upper 32bits so >>>>>> we (glibc developers) can fix this for new targets including x32 >>>>>> and arm64/ilp32. >>>>> >>>>> Hmm, but that means for purely 32-bit architectures like nios2, which >>>>> unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit >>>>> type in the kernel is simply wasted. >>>> >>>> The more I think of this, the more I feel that suseconds_t should jsut >>>> be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit >>>> kernel should be using compat_* code paths, something like a >>>> COMPAT_USE_32BIT_SUSECONDS case. >>> >>> ILP32 mode should use LP64 syscalls as much as possible and that's the >>> aim with arm64 as well (of course, we still have a few that wouldn't be >>> possible and we route them via compat). >>> >>> But here if time_t is 64-bit while susecconds_t is 32-bit, the compat >>> code wouldn't help. >> >> Why not? You can define the arm64 'struct compat_timeval' with >> suseconds_t as s32, and add the 32<-->64 case in the >> compat_get/put_timeval path, triggered when the process is ILP32 (test >> wrapped in the above hypothetical COMPAT_USE_32BIT_SUSECONDS macro). >> Similar to how x32 does COMPAT_USE_64BIT_TIME. > > We would three timeval then. One for aarch32, one for lp64 and one for ilp32. We really don't want three. Two is already one too many in my mind after developing the ilp32 syscall abi. > > Thanks, > Andrew Okay I now see you're already doing that for 32-bit ARM. Still, you would probably just need to have an arm64-ILP32 specific case to be careful about the last padding word upon kernel entry/exit. (accommodating the difference in sizeof(long)) Penalizing all architectures does not seem like the best solution. Having suseconds_t as a strictly 64-bit C type in the kernel, while defined as <= long in user-space may cause other problems. I'll try to explain a probable situation for Nios II. I'm not sure about other soft-cores, but nios2 is sort of uncommon in that the maximum alignment is 4-bytes (32-bits), even for doubles/long-longs. So if time_t is 64-bits (which makes sense), then struct timeval, which is time_t+suseconds_t in userspace is 12-bytes/aligned-4 (unlike many archs where a 64-bit time_t will expand the size to 16-bytes, due to align-8) If the kernel suseconds_t is forced to be 64-bits, then nios2 will have a 16-byte kernel timeval vs. 12-byte userspace timeval situation. Just this will require us to do something using compat_*, or weird hacks in glibc, which is unfair. Nios II has no "other-mode". We are just strictly ILP32, everywhere. Of course, we can probably still at the end just use a Nios II specific posix_types.h header to override things, but I'm just stating this as a matter of which are the most reasonable default settings in the generic headers. Making pure ILP32 archs diverge from POSIX standards by default does not seem to be right. Thanks, Chung-Lin ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-25 6:06 ` Chung-Lin Tang @ 2014-04-25 8:37 ` Pinski, Andrew 2014-04-25 13:19 ` Chung-Lin Tang 2014-04-25 8:49 ` Geert Uytterhoeven 1 sibling, 1 reply; 24+ messages in thread From: Pinski, Andrew @ 2014-04-25 8:37 UTC (permalink / raw) To: Chung-Lin Tang Cc: Pinski, Andrew, Catalin Marinas, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski, Tang, Chung-Lin > On Apr 24, 2014, at 11:06 PM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: > >> On 2014/4/25 02:42 AM, Pinski, Andrew wrote: >> >> >>>> On Apr 24, 2014, at 11:37 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>> >>>>> On 2014/4/24 11:28 PM, Catalin Marinas wrote: >>>>>> On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote: >>>>>>> On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: >>>>>>> On 2014/4/24 上午 02:15, Pinski, Andrew wrote: >>>>>>> >>>>>>>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>>>>>>> >>>>>>>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>>>>>>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>>>>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>>>>>>>>>>>>>> Hi Arnd and Peter Anvin, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>>>>>>>>>>>>>> I can submit the patches for 64-bit time changes >>>>>>>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>>>>>>>>>>>>>> agreed on this. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Yes. >>>>>>>>>>> Okay, will doing that. >>>>>>>>> >>>>>>>>> I believe that arm64 ILP32 will also be affected. What is the status of >>>>>>>>> this configuration? Has the glibc/kernel ABI been finalized? >>>>>>> Not yet. I am still working out the signal handling part. But we >>>>>>> already agreed on 64bit time_t, clock_t, and suseconds_t. And we >>>>>>> agreed to a 64bit offset_t too. >>>>>>> >>>>>>> On a related note suseconds in the timespec in posix is defined to >>>>>>> be long. So it would nice if the kernel ignores the upper 32bits so >>>>>>> we (glibc developers) can fix this for new targets including x32 >>>>>>> and arm64/ilp32. >>>>>> >>>>>> Hmm, but that means for purely 32-bit architectures like nios2, which >>>>>> unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit >>>>>> type in the kernel is simply wasted. >>>>> >>>>> The more I think of this, the more I feel that suseconds_t should jsut >>>>> be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit >>>>> kernel should be using compat_* code paths, something like a >>>>> COMPAT_USE_32BIT_SUSECONDS case. >>>> >>>> ILP32 mode should use LP64 syscalls as much as possible and that's the >>>> aim with arm64 as well (of course, we still have a few that wouldn't be >>>> possible and we route them via compat). >>>> >>>> But here if time_t is 64-bit while susecconds_t is 32-bit, the compat >>>> code wouldn't help. >>> >>> Why not? You can define the arm64 'struct compat_timeval' with >>> suseconds_t as s32, and add the 32<-->64 case in the >>> compat_get/put_timeval path, triggered when the process is ILP32 (test >>> wrapped in the above hypothetical COMPAT_USE_32BIT_SUSECONDS macro). >>> Similar to how x32 does COMPAT_USE_64BIT_TIME. >> >> We would three timeval then. One for aarch32, one for lp64 and one for ilp32. We really don't want three. Two is already one too many in my mind after developing the ilp32 syscall abi. >> >> Thanks, >> Andrew > > Okay I now see you're already doing that for 32-bit ARM. > > Still, you would probably just need to have an arm64-ILP32 specific case > to be careful about the last padding word upon kernel entry/exit. > (accommodating the difference in sizeof(long)) Penalizing all > architectures does not seem like the best solution. Considering the alignment of long long would be 64bits, the struct does not change sizes if suseconds_t is 32bits or 64bits. > > Having suseconds_t as a strictly 64-bit C type in the kernel, while > defined as <= long in user-space may cause other problems. > > I'll try to explain a probable situation for Nios II. I'm not sure about > other soft-cores, but nios2 is sort of uncommon in that the maximum > alignment is 4-bytes (32-bits), even for doubles/long-longs. Yes does that include even if users of aligned? If so that seems broken. Also yes nios ii is unstandard when it comes to alignment here. > > So if time_t is 64-bits (which makes sense), then struct timeval, which > is time_t+suseconds_t in userspace is 12-bytes/aligned-4 (unlike many > archs where a 64-bit time_t will expand the size to 16-bytes, due to > align-8) Unlike most other targets where the struct would 16bits no matter what. Thanks, Andrew > > If the kernel suseconds_t is forced to be 64-bits, then nios2 will have > a 16-byte kernel timeval vs. 12-byte userspace timeval situation. Just > this will require us to do something using compat_*, or weird hacks in > glibc, which is unfair. Nios II has no "other-mode". We are just > strictly ILP32, everywhere. > > Of course, we can probably still at the end just use a Nios II specific > posix_types.h header to override things, but I'm just stating this as a > matter of which are the most reasonable default settings in the generic > headers. Making pure ILP32 archs diverge from POSIX standards by default > does not seem to be right. > > Thanks, > Chung-Lin > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-25 8:37 ` Pinski, Andrew @ 2014-04-25 13:19 ` Chung-Lin Tang 0 siblings, 0 replies; 24+ messages in thread From: Chung-Lin Tang @ 2014-04-25 13:19 UTC (permalink / raw) To: Pinski, Andrew, Chung-Lin Tang Cc: Catalin Marinas, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski On 14/4/25 下午4:37, Pinski, Andrew wrote: > > >> On Apr 24, 2014, at 11:06 PM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >> >>> On 2014/4/25 02:42 AM, Pinski, Andrew wrote: >>> >>> >>>>> On Apr 24, 2014, at 11:37 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>>> >>>>>> On 2014/4/24 11:28 PM, Catalin Marinas wrote: >>>>>>> On Thu, Apr 24, 2014 at 09:55:25AM +0100, Chung-Lin Tang wrote: >>>>>>>> On 2014/4/24 02:26 PM, Chung-Lin Tang wrote: >>>>>>>> On 2014/4/24 上午 02:15, Pinski, Andrew wrote: >>>>>>>> >>>>>>>>>> On Apr 23, 2014, at 10:59 AM, "Chung-Lin Tang" <cltang@codesourcery.com> wrote: >>>>>>>>>> >>>>>>>>>>>> On 2014/4/22 07:20 PM, Ley Foon Tan wrote: >>>>>>>>>>>> On Tue, Apr 22, 2014 at 6:56 PM, Arnd Bergmann <arnd@arndb.de> wrote: >>>>>>>>>>>>>>>> On Tuesday 22 April 2014 18:37:11 Ley Foon Tan wrote: >>>>>>>>>>>>>>>>>>>> Hi Arnd and Peter Anvin, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Other than 64-bit time_t, clock_t and suseconds_t, can you confirm >>>>>>>>>>>>>>>>>>>> that we don't need to have 64 bit off_t? See detail in link below. >>>>>>>>>>>>>>>>>>>> I can submit the patches for 64-bit time changes >>>>>>>>>>>>>>>>>>>> (include/asm-generic/posix_types.h and other archs) if everyone is >>>>>>>>>>>>>>>>>>>> agreed on this. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Yes. >>>>>>>>>>>> Okay, will doing that. >>>>>>>>>> >>>>>>>>>> I believe that arm64 ILP32 will also be affected. What is the status of >>>>>>>>>> this configuration? Has the glibc/kernel ABI been finalized? >>>>>>>> Not yet. I am still working out the signal handling part. But we >>>>>>>> already agreed on 64bit time_t, clock_t, and suseconds_t. And we >>>>>>>> agreed to a 64bit offset_t too. >>>>>>>> >>>>>>>> On a related note suseconds in the timespec in posix is defined to >>>>>>>> be long. So it would nice if the kernel ignores the upper 32bits so >>>>>>>> we (glibc developers) can fix this for new targets including x32 >>>>>>>> and arm64/ilp32. >>>>>>> >>>>>>> Hmm, but that means for purely 32-bit architectures like nios2, which >>>>>>> unlike x86_64 or arm64, never has a 64-bit mode, suseconds_t as a 64-bit >>>>>>> type in the kernel is simply wasted. >>>>>> >>>>>> The more I think of this, the more I feel that suseconds_t should jsut >>>>>> be 'long', not strictly 64-bitified. An ILP32 sub-mode in a 64-bit >>>>>> kernel should be using compat_* code paths, something like a >>>>>> COMPAT_USE_32BIT_SUSECONDS case. >>>>> >>>>> ILP32 mode should use LP64 syscalls as much as possible and that's the >>>>> aim with arm64 as well (of course, we still have a few that wouldn't be >>>>> possible and we route them via compat). >>>>> >>>>> But here if time_t is 64-bit while susecconds_t is 32-bit, the compat >>>>> code wouldn't help. >>>> >>>> Why not? You can define the arm64 'struct compat_timeval' with >>>> suseconds_t as s32, and add the 32<-->64 case in the >>>> compat_get/put_timeval path, triggered when the process is ILP32 (test >>>> wrapped in the above hypothetical COMPAT_USE_32BIT_SUSECONDS macro). >>>> Similar to how x32 does COMPAT_USE_64BIT_TIME. >>> >>> We would three timeval then. One for aarch32, one for lp64 and one for ilp32. We really don't want three. Two is already one too many in my mind after developing the ilp32 syscall abi. >>> >>> Thanks, >>> Andrew >> >> Okay I now see you're already doing that for 32-bit ARM. >> >> Still, you would probably just need to have an arm64-ILP32 specific case >> to be careful about the last padding word upon kernel entry/exit. >> (accommodating the difference in sizeof(long)) Penalizing all >> architectures does not seem like the best solution. > > Considering the alignment of long long would be 64bits, the struct does not change sizes if suseconds_t is 32bits or 64bits. > >> >> Having suseconds_t as a strictly 64-bit C type in the kernel, while >> defined as <= long in user-space may cause other problems. >> >> I'll try to explain a probable situation for Nios II. I'm not sure about >> other soft-cores, but nios2 is sort of uncommon in that the maximum >> alignment is 4-bytes (32-bits), even for doubles/long-longs. > > Yes does that include even if users of aligned? If so that seems broken. Also yes nios ii is unstandard when it comes to alignment here. You mean using '__attribute__((aligned(8)))'? Sure of course that enlarges the alignment as expected, but sprinkling that over glibc, or getting it into the main glibc bits/time.h header is probably not going to happen... Thanks, Chung-Lin >> >> So if time_t is 64-bits (which makes sense), then struct timeval, which >> is time_t+suseconds_t in userspace is 12-bytes/aligned-4 (unlike many >> archs where a 64-bit time_t will expand the size to 16-bytes, due to >> align-8) > > Unlike most other targets where the struct would 16bits no matter what. > > Thanks, > Andrew > > >> >> If the kernel suseconds_t is forced to be 64-bits, then nios2 will have >> a 16-byte kernel timeval vs. 12-byte userspace timeval situation. Just >> this will require us to do something using compat_*, or weird hacks in >> glibc, which is unfair. Nios II has no "other-mode". We are just >> strictly ILP32, everywhere. >> >> Of course, we can probably still at the end just use a Nios II specific >> posix_types.h header to override things, but I'm just stating this as a >> matter of which are the most reasonable default settings in the generic >> headers. Making pure ILP32 archs diverge from POSIX standards by default >> does not seem to be right. >> >> Thanks, >> Chung-Lin >> ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH 00/28] nios2 Linux kernel port 2014-04-25 6:06 ` Chung-Lin Tang 2014-04-25 8:37 ` Pinski, Andrew @ 2014-04-25 8:49 ` Geert Uytterhoeven 1 sibling, 0 replies; 24+ messages in thread From: Geert Uytterhoeven @ 2014-04-25 8:49 UTC (permalink / raw) To: Chung-Lin Tang Cc: Pinski, Andrew, Catalin Marinas, Ley Foon Tan, Arnd Bergmann, H. Peter Anvin, Linux-Arch, linux-kernel, linux-doc, Andrew Pinski, Tang, Chung-Lin On Fri, Apr 25, 2014 at 8:06 AM, Chung-Lin Tang <cltang@codesourcery.com> wrote: > I'll try to explain a probable situation for Nios II. I'm not sure about > other soft-cores, but nios2 is sort of uncommon in that the maximum > alignment is 4-bytes (32-bits), even for doubles/long-longs. FWIW, that's the same as on m32r. And on m68k it's 2 bytes. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2014-04-25 13:20 UTC | newest] Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-04-18 16:49 [PATCH 00/28] nios2 Linux kernel port Ley Foon Tan 2014-04-18 18:38 ` Ley Foon Tan -- strict thread matches above, loose matches on Subject: below -- 2014-04-18 12:26 Ley Foon Tan 2014-04-18 20:48 ` H. Peter Anvin 2014-04-19 15:30 ` Arnd Bergmann 2014-04-21 5:23 ` Ley Foon Tan 2014-04-21 5:31 ` H. Peter Anvin 2014-04-21 8:14 ` Chung-Lin Tang 2014-04-22 10:37 ` Ley Foon Tan 2014-04-22 10:56 ` Arnd Bergmann 2014-04-22 11:20 ` Ley Foon Tan 2014-04-22 14:48 ` Chung-Lin Tang 2014-04-23 17:59 ` Chung-Lin Tang 2014-04-23 18:15 ` Pinski, Andrew 2014-04-23 19:21 ` H. Peter Anvin 2014-04-24 6:26 ` Chung-Lin Tang 2014-04-24 8:55 ` Chung-Lin Tang 2014-04-24 15:28 ` Catalin Marinas 2014-04-24 18:37 ` Chung-Lin Tang 2014-04-24 18:42 ` Pinski, Andrew 2014-04-25 6:06 ` Chung-Lin Tang 2014-04-25 8:37 ` Pinski, Andrew 2014-04-25 13:19 ` Chung-Lin Tang 2014-04-25 8:49 ` Geert Uytterhoeven
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).