* Ingo Molnar <mingo@xxxxxxxxxx> wrote: > > * Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > Hi Ingo, > > > > Thanks for this. The concept is certainly good. > > > > On Thu, 14 May 2015 21:59:25 +0200 Ingo Molnar <mingo@xxxxxxxxxx> wrote: > > > > > > The patch that adds a new architecture to all these files would give > > > us a good overview about how complete an initial port is. > > > > If you want to test how hard that is (and what sort of patch it > > produces), the h8300 architecture was added to linux-next recently. > > I tried this out, this is the resulting feature support matrix for the > new h8300 architecture: > > # > # Kernel feature support matrix of architecture 'h8300': > # > arch-tick-broadcast: | h8300: | TODO | > BPF-JIT: | h8300: | TODO | Perhaps the more verbose table is more useful: # # Kernel feature support matrix of architecture 'h8300': # arch-tick-broadcast: | TODO | ARCH_HAS_TICK_BROADCAST # arch provides tick_broadcast() BPF-JIT: | TODO | HAVE_BPF_JIT # arch supports BPF JIT optimizations clockevents: | ok | GENERIC_CLOCKEVENTS # arch support generic clock events cmpxchg-local: | TODO | HAVE_CMPXCHG_LOCAL # arch supports the this_cpu_cmpxchg() API context-tracking: | TODO | HAVE_CONTEXT_TRACKING # arch supports context tracking for NO_HZ_FULL dma-api-debug: | TODO | HAVE_DMA_API_DEBUG # arch supports DMA debug facilities dma-contiguous: | TODO | HAVE_DMA_CONTIGUOUS # arch supports the DMA CMA (continuous memory allocator) dma_map_attrs: | ok | HAVE_DMA_ATTRS # arch provides dma_*map*_attrs() APIs ELF-ASLR: | TODO | ARCH_HAS_ELF_RANDOMIZE # arch randomizes the stack, heap and binary images of ELF binaries gcov-profile-all: | TODO | ARCH_HAS_GCOV_PROFILE_ALL # arch supports whole-kernel GCOV code coverage profiling generic-idle-thread: | TODO | GENERIC_SMP_IDLE_THREAD # arch makes use of the generic SMP idle thread facility huge-vmap: | TODO | HAVE_ARCH_HUGE_VMAP # arch supports the ioremap_pud_enabled() and ioremap_pmd_enabled() VM APIs ioremap_prot: | TODO | HAVE_IOREMAP_PROT # arch has ioremap_prot() irq-time-acct: | TODO | HAVE_IRQ_TIME_ACCOUNTING # arch supports precise IRQ time accounting jump-labels: | TODO | HAVE_ARCH_JUMP_LABEL # arch supports live patched high efficiency branches KASAN: | TODO | HAVE_ARCH_KASAN # arch supports the KASAN runtime memory checker kgdb: | TODO | HAVE_ARCH_KGDB # arch supports the kGDB kernel debugger kprobes: | TODO | HAVE_KPROBES # arch supports live patched kernel probe kprobes-event: | TODO | HAVE_REGS_AND_STACK_ACCESS_API # arch supports kprobes with perf events kprobes-on-ftrace: | TODO | HAVE_KPROBES_ON_FTRACE # arch supports combined kprobes and ftrace live patching kretprobes: | TODO | HAVE_KRETPROBES # arch supports kernel function-return probes lockdep: | TODO | LOCKDEP_SUPPORT # arch supports the runtime locking correctness debug facility modern-timekeeping: | ok | !ARCH_USES_GETTIMEOFFSET # arch does not use arch_gettimeoffset() anymore numa-balancing: | .. | ARCH_SUPPORTS_NUMA_BALANCING && 64BIT && NUMA # arch supports NUMA balancing numa-memblock: | .. | HAVE_MEMBLOCK_NODE_MAP # arch supports NUMA aware memblocks optprobes: | TODO | HAVE_OPTPROBES # arch supports live patched optprobes perf-regs: | TODO | HAVE_PERF_REGS # arch supports perf events register access perf-stackdump: | TODO | HAVE_PERF_USER_STACK_DUMP # arch supports perf events stack dumps PG_uncached: | TODO | ARCH_USES_PG_UNCACHED # arch supports the PG_uncached page flag pmdp_splitting_flush: | TODO | #define __HAVE_ARCH_PMDP_SPLITTING_FLUSH # arch supports the pmdp_splitting_flush() VM API pte_special: | TODO | #define __HAVE_ARCH_PTE_SPECIAL # arch supports the pte_special()/pte_mkspecial() VM APIs queued-rwlocks: | TODO | ARCH_USE_QUEUED_RWLOCKS # arch supports queued rwlocks queued-spinlocks: | TODO | ARCH_USE_QUEUED_SPINLOCKS # arch supports queued spinlocks rwsem-optimized: | ok | Optimized asm/rwsem.h # arch provides optimized rwsem APIs seccomp-filter: | TODO | HAVE_ARCH_SECCOMP_FILTER # arch supports seccomp filters sg-chain: | TODO | ARCH_HAS_SG_CHAIN # arch supports chained scatter-gather lists stackprotector: | TODO | HAVE_CC_STACKPROTECTOR # arch supports compiler driven stack overflow protection strncasecmp: | TODO | __HAVE_ARCH_STRNCASECMP # arch provides an optimized strncasecmp() function THP: | .. | HAVE_ARCH_TRANSPARENT_HUGEPAGE && 64BIT # arch supports transparent hugepages tracehook: | TODO | HAVE_ARCH_TRACEHOOK # arch supports tracehook (ptrace) register handling APIs uprobes: | TODO | ARCH_SUPPORTS_UPROBES # arch supports live patched user probes user-ret-profiler: | TODO | HAVE_USER_RETURN_NOTIFIER # arch supports user-space return from system call profiler virt-cpuacct: | TODO | HAVE_VIRT_CPU_ACCOUNTING || 64BIT # arch supports precise virtual CPU time accounting Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html