L4Linux: update to recent version (svn rev. 25)

This commit is contained in:
Stefan Kalkowski 2012-09-11 13:49:30 +02:00 committed by Norman Feske
parent 1e87ef627b
commit efe3b8af74
15 changed files with 654 additions and 420 deletions

View File

@ -8,8 +8,8 @@ VERBOSE ?= @
ECHO = @echo
TARGET ?= l4linux
PATCH-l4linux = $(addprefix patches/,l4lx_genode.patch icmp_align.patch tcp_mem.patch)
REV-l4linux = 23
PATCH-l4linux = $(addprefix patches/,l4lx_genode.patch icmp_align.patch)
REV-l4linux = 25
REPO-l4linux = http://svn.tudos.org/repos/oc/l4linux/trunk
PATCH-l4android = patches/l4android_genode.patch
@ -95,6 +95,7 @@ clean: clean-$(TARGET)
clean-l4linux: $(REAL_CONTRIB_DIR)/$(TARGET)
$(VERBOSE)svn revert -R $(REAL_CONTRIB_DIR)/l4linux
$(VERBOSE)svn stat $(REAL_CONTRIB_DIR)/l4linux | sed -e 's/? //' | xargs rm -f
$(VERBOSE)svn up -r $(REV-l4linux) -N $(REAL_CONTRIB_DIR)/l4linux
clean-l4android: $(REAL_CONTRIB_DIR)/$(TARGET)
$(VERBOSE)cd $(REAL_CONTRIB_DIR)/l4android; git checkout -f

View File

@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
# Linux/l4 3.0.0-l4 Kernel Configuration
# Automatically generated file; DO NOT EDIT.
# Linux/l4 3.5.0-l4 Kernel Configuration
#
#
@ -14,6 +14,8 @@ CONFIG_L4_ARCH_ARM=y
CONFIG_L4_VMLINUZ_SUFFIX=".arm"
CONFIG_HZ=100
CONFIG_PHYSICAL_START=0x0
CONFIG_L4_PLATFORM_GENERIC=y
# CONFIG_L4_PLATFORM_REALVIEW is not set
#
# Features
@ -33,6 +35,8 @@ CONFIG_PHYSICAL_START=0x0
# CONFIG_L4_NET_L4SHM is not set
# CONFIG_L4_SERIAL is not set
# CONFIG_L4_SERIAL_SHM is not set
CONFIG_SCREEN_GENODE=y
CONFIG_SERIAL_GENODE=y
#
# Debugging options
@ -48,6 +52,7 @@ CONFIG_L4_DEBUG_REGISTER_NAMES=y
CONFIG_L4_MEMSIZE=32
CONFIG_L4_TAMED=y
CONFIG_L4_VCPU=y
# CONFIG_L4_DMAPOOL is not set
#
# Priority configuration
@ -61,32 +66,26 @@ CONFIG_L4_PRIO_L4FB_REFRESH=7
CONFIG_L4_PRIO_L4ANKH=7
CONFIG_L4_CONFIG_CHECKS=y
# CONFIG_L4_SAMPLE_MODULE is not set
CONFIG_SCREEN_GENODE=y
CONFIG_SERIAL_GENODE=y
CONFIG_L4_CLK_NOOP=y
#
#
#
CONFIG_ARM=y
CONFIG_MIGHT_HAVE_PCI=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_KTIME_SCALAR=y
CONFIG_HAVE_PROC_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_VECTORS_BASE=0xbffff000
# CONFIG_ARM_PATCH_PHYS_VIRT is not set
CONFIG_NEED_MACH_MEMORY_H=y
CONFIG_GENERIC_BUG=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
@ -100,9 +99,11 @@ CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="l4box"
CONFIG_SWAP=y
@ -120,22 +121,33 @@ CONFIG_HAVE_GENERIC_HARDIRQS=y
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
# CONFIG_SPARSE_IRQ is not set
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_KTIME_SCALAR=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
#
# Timers subsystem
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=15
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_SYSFS_DEPRECATED=y
@ -176,7 +188,6 @@ CONFIG_PERF_USE_VMALLOC=y
# Kernel Performance Events And Counters
#
# CONFIG_PERF_EVENTS is not set
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_COMPAT_BRK=y
CONFIG_SLAB=y
@ -185,12 +196,18 @@ CONFIG_SLAB=y
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
#
# GCOV-based kernel profiling
@ -208,8 +225,15 @@ CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# IO Schedulers
#
@ -226,7 +250,6 @@ CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
@ -262,9 +285,11 @@ CONFIG_MMU=y
# CONFIG_ARCH_AT91 is not set
CONFIG_ARCH_L4=y
# CONFIG_ARCH_BCMRING is not set
# CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CNS3XXX is not set
# CONFIG_ARCH_GEMINI is not set
# CONFIG_ARCH_PRIMA2 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
@ -275,34 +300,30 @@ CONFIG_ARCH_L4=y
# CONFIG_ARCH_IOP13XX is not set
# CONFIG_ARCH_IOP32X is not set
# CONFIG_ARCH_IOP33X is not set
# CONFIG_ARCH_IXP23XX is not set
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_LOKI is not set
# CONFIG_ARCH_LPC32XX is not set
# CONFIG_ARCH_MV78XX0 is not set
# CONFIG_ARCH_ORION5X is not set
# CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_KS8695 is not set
# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_NUC93X is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_PICOXCELL is not set
# CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_SHMOBILE is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_S3C64XX is not set
# CONFIG_ARCH_S5P64X0 is not set
# CONFIG_ARCH_S5PC100 is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_EXYNOS4 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_TCC_926 is not set
# CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_NOMADIK is not set
@ -310,15 +331,12 @@ CONFIG_ARCH_L4=y
# CONFIG_ARCH_OMAP is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_ARCH_VT8500 is not set
# CONFIG_ARCH_ZYNQ is not set
CONFIG_MACH_L4=y
# CONFIG_L4_ARM_BUILD_FOR_V5 is not set
# CONFIG_L4_ARM_BUILD_FOR_V6K is not set
CONFIG_L4_ARM_BUILD_FOR_V7=y
#
# System MMU
#
#
# Processor Type
#
@ -338,14 +356,20 @@ CONFIG_CPU_CP15_MMU=y
#
# Processor Features
#
# CONFIG_ARM_LPAE is not set
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_ARM_THUMB=y
# CONFIG_ARM_THUMBEE is not set
# CONFIG_SWP_EMULATE is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_BPREDICT_DISABLE is not set
CONFIG_ARM_L1_CACHE_SHIFT=5
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_ARM_L1_CACHE_SHIFT_6=y
CONFIG_ARM_L1_CACHE_SHIFT=6
CONFIG_ARM_DMA_MEM_BUFFERABLE=y
CONFIG_ARM_NR_BANKS=8
CONFIG_CPU_HAS_PMU=y
# CONFIG_ARM_ERRATA_430973 is not set
# CONFIG_ARM_ERRATA_458693 is not set
@ -357,12 +381,13 @@ CONFIG_CPU_HAS_PMU=y
# CONFIG_ARM_ERRATA_751472 is not set
# CONFIG_ARM_ERRATA_754322 is not set
# CONFIG_ARM_ERRATA_754327 is not set
CONFIG_DMABOUNCE=y
# CONFIG_ARM_ERRATA_764369 is not set
#
# Bus support
#
CONFIG_ARM_AMBA=y
# CONFIG_PCI is not set
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
# CONFIG_PCCARD is not set
@ -370,12 +395,12 @@ CONFIG_ARM_AMBA=y
#
# Kernel Features
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_HAVE_SMP=y
CONFIG_SMP=y
CONFIG_SMP_ON_UP=y
# CONFIG_ARM_CPU_TOPOLOGY is not set
CONFIG_HAVE_ARM_SCU=y
# CONFIG_ARM_ARCH_TIMER is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
@ -383,6 +408,7 @@ CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_NR_CPUS=4
CONFIG_HOTPLUG_CPU=y
# CONFIG_LOCAL_TIMERS is not set
CONFIG_ARCH_NR_GPIO=0
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
@ -402,12 +428,13 @@ CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_ALIGNMENT_TRAP=y
# CONFIG_UACCESS_WITH_MEMCPY is not set
@ -449,6 +476,7 @@ CONFIG_VFPv3=y
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
@ -461,11 +489,16 @@ CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_APM_EMULATION is not set
CONFIG_PM_CLK=y
CONFIG_CPU_PM=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARM_CPU_SUSPEND=y
CONFIG_NET=y
#
@ -473,6 +506,7 @@ CONFIG_NET=y
#
CONFIG_PACKET=y
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
@ -501,6 +535,7 @@ CONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_INET_UDP_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
@ -523,16 +558,18 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_BQL=y
# CONFIG_BPF_JIT is not set
#
# Network testing
@ -549,6 +586,8 @@ CONFIG_XPS=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
CONFIG_HAVE_BPF_JIT=y
#
# Device Drivers
@ -567,6 +606,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
# CONFIG_DMA_SHARED_BUFFER is not set
# CONFIG_CMA is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
@ -585,9 +627,12 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_RBD is not set
#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_MISC_DEVICES=y
# CONFIG_INTEL_MID_PTI is not set
# CONFIG_ATMEL_PWM is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_C2PORT is not set
@ -599,8 +644,10 @@ CONFIG_MISC_DEVICES=y
#
# Texas Instruments shared transport line discipline
#
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# Altera FPGA firmware download module
#
#
# SCSI device support
@ -614,7 +661,6 @@ CONFIG_SCSI_MOD=y
# CONFIG_MD is not set
# CONFIG_NETDEVICES is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
@ -623,6 +669,7 @@ CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set
#
# Userland interfaces
@ -657,6 +704,7 @@ CONFIG_INPUT_EVDEV=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_UNIX98_PTYS=y
@ -689,12 +737,13 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_ATMEL is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_RAMOOPS is not set
# CONFIG_I2C is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set
#
# PPS support
@ -712,6 +761,7 @@ CONFIG_HW_RANDOM=m
#
# Enable Device Drivers -> PPS to see the PTP clock options.
#
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
@ -729,7 +779,10 @@ CONFIG_BCMA_POSSIBLE=y
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
CONFIG_MFD_SUPPORT=y
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
@ -774,13 +827,10 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_EXYNOS_VIDEO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
#
@ -796,19 +846,24 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
#
# HID support
#
CONFIG_HID=y
# CONFIG_HIDRAW is not set
# CONFIG_HID_PID is not set
# CONFIG_HID_GENERIC is not set
#
# Special HID drivers
#
# CONFIG_USB_ARCH_HAS_OHCI is not set
# CONFIG_USB_ARCH_HAS_EHCI is not set
# CONFIG_USB_ARCH_HAS_XHCI is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
@ -854,9 +909,37 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
# Virtio drivers
#
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_STAGING is not set
CONFIG_CLKDEV_LOOKUP=y
#
# Hardware Spinlock drivers
#
# CONFIG_IOMMU_SUPPORT is not set
#
# Remoteproc drivers (EXPERIMENTAL)
#
#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
#
# File systems
#
@ -932,6 +1015,7 @@ CONFIG_CRAMFS=y
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
@ -944,12 +1028,6 @@ CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
@ -989,6 +1067,17 @@ CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
# CONFIG_NLS_UTF8 is not set
#
@ -1001,6 +1090,7 @@ CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
@ -1009,6 +1099,8 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
@ -1027,7 +1119,7 @@ CONFIG_DEBUG_MUTEXES=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
@ -1046,13 +1138,14 @@ CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
@ -1070,6 +1163,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_PROBE_EVENTS is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
@ -1098,6 +1192,7 @@ CONFIG_CRYPTO=y
#
# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MANAGER2 is not set
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_PCRYPT is not set
@ -1187,13 +1282,21 @@ CONFIG_CRYPTO_HW=y
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IO=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_CRC8 is not set
CONFIG_ZLIB_INFLATE=y
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not set
@ -1203,5 +1306,8 @@ CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set

View File

@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
# Linux/l4 3.0.0-l4 Kernel Configuration
# Automatically generated file; DO NOT EDIT.
# Linux/l4 3.5.0-l4 Kernel Configuration
#
#
@ -34,6 +34,8 @@ CONFIG_PHYSICAL_START=0x100000
# CONFIG_L4_NET_L4SHM is not set
# CONFIG_L4_SERIAL is not set
# CONFIG_L4_SERIAL_SHM is not set
CONFIG_SCREEN_GENODE=y
CONFIG_SERIAL_GENODE=y
#
# Debugging options
@ -62,8 +64,6 @@ CONFIG_L4_PRIO_L4FB_REFRESH=7
CONFIG_L4_PRIO_L4ANKH=7
CONFIG_L4_CONFIG_CHECKS=y
# CONFIG_L4_SAMPLE_MODULE is not set
CONFIG_SCREEN_GENODE=y
CONFIG_SERIAL_GENODE=y
#
#
@ -75,38 +75,29 @@ CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
@ -114,11 +105,12 @@ CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_KTIME_SCALAR=y
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
@ -154,26 +146,39 @@ CONFIG_HAVE_GENERIC_HARDIRQS=y
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
# CONFIG_SPARSE_IRQ is not set
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_KTIME_SCALAR=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_SYSFS_DEPRECATED=y
@ -199,6 +204,7 @@ CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@ -214,7 +220,6 @@ CONFIG_HAVE_PERF_EVENTS=y
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_COMPAT_BRK=y
@ -223,6 +228,7 @@ CONFIG_SLAB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@ -232,7 +238,9 @@ CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
@ -240,6 +248,11 @@ CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
#
# GCOV-based kernel profiling
@ -258,8 +271,15 @@ CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# IO Schedulers
#
@ -276,7 +296,6 @@ CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
@ -304,13 +323,12 @@ CONFIG_MUTEX_SPIN_ON_OWNER=y
#
# Processor type and features
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_WANT_INTEL_MID is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_32_NON_STANDARD is not set
# CONFIG_X86_32_IRIS is not set
@ -346,7 +364,6 @@ CONFIG_M686=y
# CONFIG_X86_GENERIC is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=5
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_X86_PPRO_FENCE=y
@ -370,7 +387,6 @@ CONFIG_CPU_SUP_UMC_32=y
# CONFIG_HPET_TIMER is not set
# CONFIG_DMI is not set
# CONFIG_IOMMU_HELPER is not set
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
@ -412,6 +428,8 @@ CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
@ -422,11 +440,14 @@ CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR is not set
# CONFIG_ARCH_RANDOM is not set
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
@ -462,15 +483,17 @@ CONFIG_COMPAT_VDSO=y
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_OLPC is not set
# CONFIG_ALIX is not set
# CONFIG_NET5501 is not set
# CONFIG_PCCARD is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=y
@ -484,7 +507,9 @@ CONFIG_NET=y
#
CONFIG_PACKET=y
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
@ -510,6 +535,7 @@ CONFIG_INET=y
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_INET_UDP_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
@ -532,16 +558,17 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_BQL=y
#
# Network testing
@ -558,6 +585,7 @@ CONFIG_XPS=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
#
# Device Drivers
@ -577,13 +605,53 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
# CONFIG_DMA_SHARED_BUFFER is not set
# CONFIG_CMA is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
# CONFIG_BLK_DEV is not set
#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
# CONFIG_AD525X_DPOT is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1780 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_BMP085_I2C is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
#
# Texas Instruments shared transport line discipline
#
# CONFIG_SENSORS_LIS3_I2C is not set
#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@ -647,7 +715,6 @@ CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_MACINTOSH_DRIVERS is not set
# CONFIG_NETDEVICES is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
@ -656,6 +723,7 @@ CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set
#
# Userland interfaces
@ -735,7 +803,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
@ -778,6 +845,7 @@ CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set
#
# PPS support
@ -816,7 +884,42 @@ CONFIG_BCMA_POSSIBLE=y
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
# CONFIG_MFD_SUPPORT is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_S5M_CORE is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
@ -859,13 +962,10 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_EXYNOS_VIDEO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
#
@ -882,7 +982,14 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
#
# HID support
#
# CONFIG_HID is not set
# CONFIG_USB_ARCH_HAS_OHCI is not set
# CONFIG_USB_ARCH_HAS_EHCI is not set
# CONFIG_USB_ARCH_HAS_XHCI is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
@ -893,13 +1000,15 @@ CONFIG_LEDS_CLASS=y
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
CONFIG_LEDS_ALIX2=m
CONFIG_LEDS_PCA9532=m
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
CONFIG_LEDS_PCA955X=m
# CONFIG_LEDS_PCA9633 is not set
CONFIG_LEDS_BD2802=m
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_OT200 is not set
CONFIG_LEDS_TRIGGERS=y
#
@ -913,7 +1022,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_NFC_DEVICES is not set
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
@ -981,9 +1090,39 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
# Virtio drivers
#
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
#
# Hardware Spinlock drivers
#
CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_CLKBLD_I8253=y
# CONFIG_IOMMU_SUPPORT is not set
#
# Remoteproc drivers (EXPERIMENTAL)
#
#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
#
# Firmware Drivers
@ -993,12 +1132,12 @@ CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_SIGMA is not set
# CONFIG_GOOGLE_FIRMWARE is not set
#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
@ -1056,12 +1195,6 @@ CONFIG_TMPFS_XATTR=y
# CONFIG_CONFIGFS_FS is not set
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_NLS is not set
#
@ -1075,6 +1208,7 @@ CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
@ -1083,6 +1217,8 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
@ -1101,7 +1237,7 @@ CONFIG_TIMER_STATS=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_STACK_USAGE is not set
@ -1123,6 +1259,8 @@ CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@ -1131,7 +1269,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
@ -1178,6 +1315,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=1
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
#
# Security options
@ -1207,6 +1345,7 @@ CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
@ -1269,6 +1408,7 @@ CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
@ -1279,6 +1419,7 @@ CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_586=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
@ -1305,7 +1446,6 @@ CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_VHOST_NET is not set
# CONFIG_LGUEST is not set
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_BINARY_PRINTF is not set
#
@ -1313,13 +1453,22 @@ CONFIG_VIRTUALIZATION=y
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
# CONFIG_CRC8 is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
@ -1331,5 +1480,8 @@ CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set

View File

@ -42,7 +42,7 @@ typedef struct l4re_env_t
l4_addr_t first_free_utcb;
} l4re_env_t;
L4_CV l4re_env_cap_entry_t const * l4re_get_env_cap_l(char const *name,
L4_CV l4re_env_cap_entry_t const * l4re_env_get_cap_l(char const *name,
unsigned l,
l4re_env_t const *e);

View File

@ -1,8 +1,33 @@
Index: arch/l4/Kconfig
===================================================================
--- arch/l4/Kconfig (revision 25)
+++ arch/l4/Kconfig (working copy)
@@ -235,6 +235,20 @@
help
Support for (virtual) TPMs provided by the L4 service STPM of TUD:OS.
+config SCREEN_GENODE
+ bool
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+ default y
+
+config SERIAL_GENODE
+ bool
+ default y
+ select SERIAL_CORE
+ select SERIAL_CORE_CONSOLE
+
+
endmenu # stub drivers
menu "Debugging options"
Index: arch/l4/kernel/dispatch.c
===================================================================
--- arch/l4/kernel/dispatch.c (revision 23)
--- arch/l4/kernel/dispatch.c (revision 25)
+++ arch/l4/kernel/dispatch.c (working copy)
@@ -274,7 +274,7 @@
@@ -271,7 +271,7 @@
return 0;
if (l4_msgtag_is_page_fault(tag)) {
@ -11,7 +36,7 @@ Index: arch/l4/kernel/dispatch.c
/* No exception IPC, it's a page fault, but shouldn't happen */
goto out_fail;
}
@@ -694,7 +694,7 @@
@@ -695,7 +695,7 @@
enter_kdebug("non hybrid in idle?!");
} else {
if (unlikely(l4x_handle_async_event(label, utcb, tag)))
@ -20,24 +45,11 @@ Index: arch/l4/kernel/dispatch.c
}
}
}
Index: arch/l4/kernel/arch-arm/dispatch.c
===================================================================
--- arch/l4/kernel/arch-arm/dispatch.c (revision 23)
+++ arch/l4/kernel/arch-arm/dispatch.c (working copy)
@@ -66,7 +66,7 @@
};
-#if 1
+#if 0
#define TBUF_LOG_IDLE(x) TBUF_DO_IT(x)
#define TBUF_LOG_WAKEUP_IDLE(x) TBUF_DO_IT(x)
#define TBUF_LOG_USER_PF(x) TBUF_DO_IT(x)
Index: arch/l4/kernel/arch-arm/vmlinux.lds.S
===================================================================
--- arch/l4/kernel/arch-arm/vmlinux.lds.S (revision 23)
--- arch/l4/kernel/arch-arm/vmlinux.lds.S (revision 25)
+++ arch/l4/kernel/arch-arm/vmlinux.lds.S (working copy)
@@ -36,6 +36,12 @@
@@ -47,6 +47,12 @@
jiffies = jiffies_64 + 4;
#endif
@ -49,13 +61,19 @@ Index: arch/l4/kernel/arch-arm/vmlinux.lds.S
+
SECTIONS
{
#ifdef CONFIG_XIP_KERNEL
@@ -46,6 +52,19 @@
/*
@@ -82,14 +88,32 @@
}
.init : { /* Init code and data */
_stext = .;
+ _prog_img_beg = .;
#ifdef CONFIG_XIP_KERNEL
- . = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR);
+ . = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) - 4096;
#else
- . = PAGE_OFFSET + TEXT_OFFSET;
+ . = PAGE_OFFSET + TEXT_OFFSET - 4096;
#endif
+
+ .parent : {
+ /*
+ * Leave space for parent capability parameters at start of data
+ * section. The protection domain creator is reponsible for storing
@ -66,39 +84,28 @@ Index: arch/l4/kernel/arch-arm/vmlinux.lds.S
+ LONG(0xffffffff);
+ _parent_cap_local_name = .;
+ LONG(0xffffffff);
+
_sinittext = .;
HEAD_TEXT
INIT_TEXT
@@ -80,7 +99,7 @@
INIT_DATA
ARM_EXIT_KEEP(EXIT_DATA)
#endif
- }
+ } : rw
PERCPU_SECTION(32)
@@ -126,6 +145,7 @@
+
+ . = ALIGN(4096);
+
.head.text : {
+ _prog_img_beg = .;
_text = .;
HEAD_TEXT
}
+
.text : { /* Real text segment */
_stext = .; /* Text and read-only data */
__exception_text_start = .;
@@ -104,6 +128,7 @@
#ifdef CONFIG_MMU
*(.fixup)
#endif
+ *(.text.*) /* put all Genode .text entries in here */
*(.gnu.warning)
*(.rodata)
*(.rodata.*)
@@ -134,8 +154,9 @@
. = ALIGN(4);
*(.got) /* Global offset table */
ARM_CPU_KEEP(PROC_INFO)
- }
+ } : rw
+
RO_DATA(PAGE_SIZE)
#ifdef CONFIG_ARM_UNWIND
@@ -155,6 +176,42 @@
*(.glue_7)
*(.glue_7t)
@@ -136,6 +161,42 @@
}
#endif
@ -140,8 +147,8 @@ Index: arch/l4/kernel/arch-arm/vmlinux.lds.S
+
_etext = .; /* End of text and rodata section */
#ifdef CONFIG_XIP_KERNEL
@@ -204,8 +261,10 @@
#ifndef CONFIG_XIP_KERNEL
@@ -240,8 +301,10 @@
DATA_DATA
CONSTRUCTORS
@ -153,7 +160,7 @@ Index: arch/l4/kernel/arch-arm/vmlinux.lds.S
_edata_loc = __data_loc + SIZEOF(.data);
#ifdef CONFIG_HAVE_TCM
@@ -267,10 +326,20 @@
@@ -303,10 +366,20 @@
NOTES
@ -174,12 +181,12 @@ Index: arch/l4/kernel/arch-arm/vmlinux.lds.S
+ _prog_img_end = .;
_end = .;
/* L4: Add NOTES so that .note.gnu.build-id is caught, because we do
STABS_DEBUG
Index: arch/l4/kernel/arch-arm/traps.c
===================================================================
--- arch/l4/kernel/arch-arm/traps.c (revision 23)
--- arch/l4/kernel/arch-arm/traps.c (revision 25)
+++ arch/l4/kernel/arch-arm/traps.c (working copy)
@@ -66,6 +66,7 @@
@@ -68,6 +68,7 @@
dump_mem("", "Exception stack", frame + 4, frame + 4 + sizeof(struct pt_regs));
}
@ -187,7 +194,7 @@ Index: arch/l4/kernel/arch-arm/traps.c
#ifndef CONFIG_ARM_UNWIND
/*
* Stack pointers should always be within the kernels view of
@@ -81,6 +82,7 @@
@@ -83,6 +84,7 @@
return 0;
}
#endif
@ -195,7 +202,7 @@ Index: arch/l4/kernel/arch-arm/traps.c
/*
* Dump out the contents of some memory nicely...
@@ -170,6 +172,7 @@
@@ -172,6 +174,7 @@
#else
static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
{
@ -203,7 +210,7 @@ Index: arch/l4/kernel/arch-arm/traps.c
unsigned int fp, mode;
int ok = 1;
@@ -201,6 +204,7 @@
@@ -203,6 +206,7 @@
if (ok)
c_backtrace(fp, mode);
@ -213,9 +220,9 @@ Index: arch/l4/kernel/arch-arm/traps.c
Index: arch/l4/kernel/arch-x86/x86_init.c
===================================================================
--- arch/l4/kernel/arch-x86/x86_init.c (revision 23)
--- arch/l4/kernel/arch-x86/x86_init.c (revision 25)
+++ arch/l4/kernel/arch-x86/x86_init.c (working copy)
@@ -38,7 +38,7 @@
@@ -42,7 +42,7 @@
struct x86_init_ops x86_init __initdata = {
.resources = {
@ -226,7 +233,7 @@ Index: arch/l4/kernel/arch-x86/x86_init.c
},
Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
===================================================================
--- arch/l4/kernel/arch-x86/vmlinux.lds.S (revision 23)
--- arch/l4/kernel/arch-x86/vmlinux.lds.S (revision 25)
+++ arch/l4/kernel/arch-x86/vmlinux.lds.S (working copy)
@@ -33,7 +33,7 @@
@ -237,29 +244,25 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
jiffies = jiffies_64;
#else
OUTPUT_ARCH(i386:x86-64)
@@ -67,17 +67,10 @@
@@ -68,15 +68,8 @@
#endif
-PHDRS {
PHDRS {
- text PT_LOAD FLAGS(5); /* R_E */
- data PT_LOAD FLAGS(6); /* RW_ */
-#ifdef CONFIG_X86_64
- user PT_LOAD FLAGS(5); /* R_E */
-#ifdef CONFIG_SMP
- percpu PT_LOAD FLAGS(6); /* RW_ */
-#endif
- init PT_LOAD FLAGS(7); /* RWE */
-#endif
- note PT_NOTE FLAGS(0); /* ___ */
+PHDRS
+{
+ ro PT_LOAD;
+ rw PT_LOAD;
}
SECTIONS
@@ -97,6 +90,29 @@
@@ -96,6 +89,29 @@
/*_stext = .;*/
.text : AT(ADDR(.text) - LOAD_OFFSET) {
_text = .;
@ -289,7 +292,7 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
/* bootstrapping code */
HEAD_TEXT
#ifdef CONFIG_X86_32
@@ -112,19 +128,55 @@
@@ -111,19 +127,55 @@
ENTRY_TEXT
IRQENTRY_TEXT
*(.fixup)
@ -348,7 +351,7 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
X64_ALIGN_DEBUG_RODATA_BEGIN
RO_DATA(PAGE_SIZE)
X64_ALIGN_DEBUG_RODATA_END
@@ -152,10 +204,34 @@
@@ -151,10 +203,34 @@
/* rarely changed data like cpu maps */
READ_MOSTLY_DATA(INTERNODE_CACHE_BYTES)
@ -383,8 +386,8 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
+
#ifdef CONFIG_X86_64
#ifdef CONFIG_L4
@@ -331,10 +407,6 @@
. = ALIGN(PAGE_SIZE);
@@ -273,10 +349,6 @@
EXIT_DATA
}
@ -395,7 +398,7 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
. = ALIGN(PAGE_SIZE);
/* freed after init ends here */
@@ -342,18 +414,6 @@
@@ -284,18 +356,6 @@
__init_end = .;
}
@ -414,7 +417,7 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
#ifdef CONFIG_X86_64
.data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
NOSAVE_DATA
@@ -366,6 +426,7 @@
@@ -308,6 +368,7 @@
__bss_start = .;
*(.bss..page_aligned)
*(.bss)
@ -422,7 +425,7 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
. = ALIGN(PAGE_SIZE);
__bss_stop = .;
}
@@ -378,6 +439,7 @@
@@ -320,6 +381,7 @@
__brk_limit = .;
}
@ -430,9 +433,48 @@ Index: arch/l4/kernel/arch-x86/vmlinux.lds.S
_end = .;
STABS_DEBUG
Index: arch/l4/kernel/timer.c
===================================================================
--- arch/l4/kernel/timer.c (revision 25)
+++ arch/l4/kernel/timer.c (working copy)
@@ -225,12 +225,16 @@
return -ENOMEM;
}
+#if 0
r = L4XV_FN_i(l4_error(l4_factory_create_irq(l4re_env()->factory,
timer_irq_cap)));
if (r) {
printk(KERN_ERR "l4timer: Failed to create irq: %d\n", r);
goto out1;
}
+#else
+ l4lx_thread_alloc_irq(timer_irq_cap);
+#endif
if ((irq = l4x_register_irq(timer_irq_cap)) < 0) {
r = -ENOMEM;
@@ -238,6 +242,7 @@
}
printk("l4timer: Using IRQ%d\n", irq);
+ LOG_printf("l4timer: Using IRQ%d\n", irq);
setup_irq(irq, &l4timer_irq);
@@ -279,7 +284,9 @@
l4x_unregister_irq(irq);
out2:
L4XV_FN_v(l4re_util_cap_release(timer_irq_cap));
+#if 0
out1:
+#endif
l4x_cap_free(timer_irq_cap);
return r;
}
Index: arch/l4/kernel/head.S
===================================================================
--- arch/l4/kernel/head.S (revision 23)
--- arch/l4/kernel/head.S (revision 25)
+++ arch/l4/kernel/head.S (working copy)
@@ -53,6 +53,7 @@
.previous
@ -455,9 +497,9 @@ Index: arch/l4/kernel/head.S
ENTRY(swapper_pg_dir)
Index: arch/l4/kernel/main.c
===================================================================
--- arch/l4/kernel/main.c (revision 23)
--- arch/l4/kernel/main.c (revision 25)
+++ arch/l4/kernel/main.c (working copy)
@@ -305,7 +305,7 @@
@@ -280,7 +280,7 @@
}
#endif
@ -466,10 +508,10 @@ Index: arch/l4/kernel/main.c
if (strstr(cmdline, "console=ttyLv")) {
LOG_printf("Console output set to ttyLvx but driver not compiled in.\n");
enter_kdebug("L4 serial driver not enabled");
@@ -363,6 +363,26 @@
}
@@ -381,6 +381,26 @@
}
+static spinlock_t migrate_lock;
+
+void l4x_irq_save(unsigned long flags) { local_irq_save(flags); }
@ -493,34 +535,30 @@ Index: arch/l4/kernel/main.c
unsigned long l4x_virt_to_phys(volatile void * address)
{
int i;
@@ -375,14 +395,14 @@
+ l4x_phys_virt_addrs[i].phys;
}
- l4x_virt_to_phys_show();
+// l4x_virt_to_phys_show();
/* Whitelist: */
@@ -405,10 +425,10 @@
/* Debugging check: don't miss a translation, can give nasty
* DMA problems */
- l4x_printf("%s: Could not translate virt. address %p\n",
+ LOG_printf("%s: Could not translate virt. address %p\n",
__func__, address);
- l4x_virt_to_phys_show();
- WARN_ON(1);
+// WARN_ON(1);
+ //l4x_virt_to_phys_show();
+ //WARN_ON(1);
return __pa(address);
}
@@ -414,7 +434,7 @@
@@ -439,7 +459,7 @@
/* Debugging check: don't miss a translation, can give nasty
* DMA problems */
- l4x_printf("%s: Could not translate phys. address 0x%lx\n",
+ LOG_printf("%s: Could not translate phys. address 0x%lx\n",
__func__, address);
l4x_virt_to_phys_show();
WARN_ON(1);
@@ -532,7 +552,7 @@
@@ -558,7 +578,7 @@
r = l4re_ns_query_srv(entry->cap, n + 1, *cap);
if (r) {
@ -529,7 +567,7 @@ Index: arch/l4/kernel/main.c
name, l4sys_errtostr(r), r);
L4XV_U(f);
return -ENOENT;
@@ -713,6 +733,7 @@
@@ -742,6 +762,7 @@
= sizeof(at_exit_functions) / sizeof(at_exit_functions[0]);
static int __current_exititem;
@ -537,7 +575,7 @@ Index: arch/l4/kernel/main.c
static struct cxa_atexit_item *__next_atexit(void)
{
if (__current_exititem >= at_exit_nr_of_functions) {
@@ -721,21 +742,10 @@
@@ -750,21 +771,10 @@
}
return &at_exit_functions[__current_exititem++];
}
@ -560,8 +598,8 @@ Index: arch/l4/kernel/main.c
-
void __cxa_finalize(void *dso_handle)
{
register int i = __current_exititem;
@@ -790,10 +800,20 @@
const int verbose = 0;
@@ -819,10 +829,20 @@
}
static int l4x_forward_pf(l4_umword_t addr, l4_umword_t pc, int extra_write)
{
@ -582,7 +620,7 @@ Index: arch/l4/kernel/main.c
do {
l4_msg_regs_t *mr = l4_utcb_mr_u(u);
mr->mr[0] = addr | (extra_write ? 2 : 0);
@@ -815,6 +835,7 @@
@@ -844,6 +864,7 @@
// unresolvable page fault, we're supposed to trigger an
// exception
return 0;
@ -590,16 +628,7 @@ Index: arch/l4/kernel/main.c
return 1;
}
@@ -1054,7 +1075,7 @@
addr = (l4_addr_t)p_in_addr;
size = 1;
if (l4re_rm_find(&addr, &size, &off, &flags, &ds)) {
- LOG_printf("Cannot anything at %p?!", p_in_addr);
+ LOG_printf("Cannot anything at %p\n?!", p_in_addr);
l4re_rm_show_lists();
enter_kdebug("l4re_rm_find failed");
return;
@@ -1254,7 +1275,7 @@
@@ -1283,7 +1304,7 @@
0, "Main memory");
/* Reserve some part of the virtual address space for vmalloc */
@ -608,7 +637,7 @@ Index: arch/l4/kernel/main.c
if (l4re_rm_reserve_area(&l4x_vmalloc_memory_start,
#ifdef CONFIG_X86_32
__VMALLOC_RESERVE,
@@ -1381,6 +1402,10 @@
@@ -1416,6 +1437,10 @@
static void l4x_create_ugate(l4_cap_idx_t forthread, unsigned cpu)
{
@ -618,8 +647,8 @@ Index: arch/l4/kernel/main.c
+#if 0
l4_msgtag_t r;
l4x_user_gate[cpu] = l4x_cap_alloc();
@@ -1401,6 +1426,7 @@
l4x_user_gate[cpu] = l4x_cap_alloc_noctx();
@@ -1436,6 +1461,7 @@
l4_debugger_set_object_name(l4x_user_gate[cpu], n);
#endif
}
@ -627,7 +656,7 @@ Index: arch/l4/kernel/main.c
}
#ifdef CONFIG_HOTPLUG_CPU
@@ -1607,11 +1633,15 @@
@@ -1641,11 +1667,15 @@
l4x_exit_l4linux();
}
@ -643,18 +672,20 @@ Index: arch/l4/kernel/main.c
#ifdef CONFIG_L4_DEBUG_REGISTER_NAMES
l4_debugger_set_object_name(c, s);
@@ -1890,8 +1920,10 @@
@@ -1906,8 +1936,12 @@
static int l4x_cpu_virt_phys_map_init(const char *boot_command_line)
{
+#ifdef CONFIG_SMP
l4_umword_t max_cpus = 1;
+#if 0
l4_sched_cpu_set_t cs = l4_sched_cpu_set(0, 0, 0);
+#endif
+#endif
unsigned i;
#ifdef CONFIG_SMP
@@ -1907,9 +1939,10 @@
@@ -1923,9 +1957,10 @@
}
}
@ -666,7 +697,7 @@ Index: arch/l4/kernel/main.c
if ((p = strstr(boot_command_line, "l4x_cpus_map="))) {
// l4x_cpus_map=0,1,2,3,4,...
// the list specifies the physical CPU for each
@@ -1931,10 +1964,12 @@
@@ -1947,10 +1982,12 @@
LOG_printf("ERROR: Error parsing l4x_cpus_map option\n");
return 1;
}
@ -679,7 +710,7 @@ Index: arch/l4/kernel/main.c
l4x_cpu_physmap[l4x_nr_cpus].phys_id = pcpu;
for (i = 0; i < l4x_nr_cpus; ++i)
overbooking |=
@@ -1958,12 +1993,16 @@
@@ -1974,12 +2011,16 @@
l4x_nr_cpus = v;
}
@ -696,7 +727,7 @@ Index: arch/l4/kernel/main.c
if (l4_error(l4_scheduler_info(l4re_env()->scheduler,
&max_cpus, &cs)) == L4_EOK) {
@@ -1973,6 +2012,8 @@
@@ -1989,6 +2030,8 @@
l4x_cpu_physmap[0].phys_id = p;
}
#endif
@ -705,7 +736,7 @@ Index: arch/l4/kernel/main.c
LOG_printf("CPU mapping (l:p)[%d]: ", l4x_nr_cpus);
for (i = 0; i < l4x_nr_cpus; i++)
@@ -2018,6 +2059,7 @@
@@ -2034,6 +2077,7 @@
printk("panic: going to sleep forever, bye\n");
L4XV_L(f);
LOG_printf("panic: going to sleep forever, bye\n");
@ -713,16 +744,16 @@ Index: arch/l4/kernel/main.c
l4_sleep_forever();
return 0;
}
@@ -2298,7 +2340,7 @@
}
@@ -2302,7 +2346,7 @@
LOG_printf("Device scan done.\n");
}
-int __init_refok L4_CV main(int argc, char **argv)
+int __init_refok L4_CV linux_main(int argc, char **argv)
{
l4lx_thread_t main_id;
extern char _end[];
@@ -2410,10 +2452,13 @@
struct l4lx_thread_start_info_t si;
@@ -2414,10 +2458,13 @@
l4x_start_thread_id = l4re_env()->main_thread;
@ -736,7 +767,7 @@ Index: arch/l4/kernel/main.c
#ifndef CONFIG_L4_VCPU
#ifdef CONFIG_L4_TAMED
@@ -3180,6 +3225,10 @@
@@ -3223,6 +3270,10 @@
/* Not resolvable: Ooops */
LOG_printf("Non-resolvable page fault at %lx, ip %lx.\n", pfa, ip);
// will trigger an oops in caller
@ -747,7 +778,7 @@ Index: arch/l4/kernel/main.c
return 0;
}
@@ -3560,7 +3609,9 @@
@@ -3419,7 +3470,9 @@
void exit(int code)
{
__cxa_finalize(0);
@ -757,33 +788,9 @@ Index: arch/l4/kernel/main.c
LOG_printf("Still alive, going zombie???\n");
l4_sleep_forever();
}
Index: arch/l4/Kconfig
===================================================================
--- arch/l4/Kconfig (revision 23)
+++ arch/l4/Kconfig (working copy)
@@ -394,7 +394,19 @@
config L4_USE_L4SHMC
bool
+config SCREEN_GENODE
+ bool
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+ default y
+config SERIAL_GENODE
+ bool
+ default y
+ select SERIAL_CORE
+ select SERIAL_CORE_CONSOLE
+
# some delimiter (for .config)
comment ""
source "arch/l4/Kconfig.arch"
Index: arch/l4/include/asm/generic/l4lib.h
===================================================================
--- arch/l4/include/asm/generic/l4lib.h (revision 23)
--- arch/l4/include/asm/generic/l4lib.h (revision 25)
+++ arch/l4/include/asm/generic/l4lib.h (working copy)
@@ -3,6 +3,7 @@
@ -804,9 +811,9 @@ Index: arch/l4/include/asm/generic/l4lib.h
#endif /* __INCLUDE__ASM_L4__GENERIC__L4LIB_H__ */
Index: arch/l4/include/asm/l4lxapi/thread.h
===================================================================
--- arch/l4/include/asm/l4lxapi/thread.h (revision 23)
--- arch/l4/include/asm/l4lxapi/thread.h (revision 25)
+++ arch/l4/include/asm/l4lxapi/thread.h (working copy)
@@ -24,6 +24,8 @@
@@ -32,6 +32,8 @@
*/
void l4lx_thread_init(void);
@ -817,7 +824,7 @@ Index: arch/l4/include/asm/l4lxapi/thread.h
* \ingroup thread
Index: arch/l4/boot/Makefile
===================================================================
--- arch/l4/boot/Makefile (revision 23)
--- arch/l4/boot/Makefile (revision 25)
+++ arch/l4/boot/Makefile (working copy)
@@ -10,7 +10,7 @@
$(call if_changed,objcopy)
@ -841,9 +848,9 @@ Index: arch/l4/boot/Makefile
-Wall -fno-strict-aliasing -O2 -pipe \
Index: arch/l4/lib/pte.c
===================================================================
--- arch/l4/lib/pte.c (revision 23)
--- arch/l4/lib/pte.c (revision 25)
+++ arch/l4/lib/pte.c (working copy)
@@ -19,7 +19,10 @@
@@ -18,7 +18,10 @@
#include <l4/sys/task.h>
#include <l4/sys/kdebug.h>
#include <l4/re/consts.h>
@ -854,7 +861,7 @@ Index: arch/l4/lib/pte.c
static void l4x_flush_page(struct mm_struct *mm,
unsigned long address,
unsigned long vaddr,
@@ -78,7 +81,7 @@
@@ -77,7 +80,7 @@
if (mm && !l4_is_invalid_cap(mm->context.task)) {
L4XV_V(f);
if (!mm->context.task)
@ -863,7 +870,7 @@ Index: arch/l4/lib/pte.c
/* Direct flush in the child, use virtual address in the
* child address space */
L4XV_L(f);
@@ -94,10 +97,11 @@
@@ -93,10 +96,11 @@
tag = l4_task_unmap(L4RE_THIS_TASK_CAP,
l4_fpage(address & PAGE_MASK, size, flush_rights),
L4_FP_OTHER_SPACES);
@ -878,11 +885,11 @@ Index: arch/l4/lib/pte.c
#ifdef ARCH_arm
Index: arch/l4/Makefile
===================================================================
--- arch/l4/Makefile (revision 23)
--- arch/l4/Makefile (revision 25)
+++ arch/l4/Makefile (working copy)
@@ -170,6 +170,12 @@
# prevent gcc from generating any FP code by mistake
@@ -163,6 +163,12 @@
KBUILD_CFLAGS += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,)
KBUILD_CFLAGS += $(call cc-option,-mno-avx,)
+#
+# Prevent the gcc from linking Linux memmove into compiler-generated
@ -893,7 +900,7 @@ Index: arch/l4/Makefile
endif
ifeq ($(BASEARCH),arm)
@@ -252,6 +258,8 @@
@@ -243,6 +249,8 @@
endif
@ -902,7 +909,7 @@ Index: arch/l4/Makefile
# -----------------------------------------------
@@ -274,14 +282,15 @@
@@ -265,14 +273,15 @@
L4LX_E_L-$(CONFIG_L4_TCG_STPM) += stpm-client
L4LX_E_L-$(CONFIG_L4_FERRET) += ferret
@ -915,15 +922,15 @@ Index: arch/l4/Makefile
+# -I$(L4OBJ)/include/$(L4_MK_API) \
+# -I$(L4OBJ)/include
head-y := arch/l4/kernel/head.o arch/l4/kernel/init_task.o
head-y := arch/l4/kernel/head.o
-libs-y += arch/l4/lib/arch-$(BASEARCH)/ \
+libs-y += arch/l4/lib/arch-$(BASEARCH)/
+# \
+#\
arch/l4/l4lxlib/generic/ \
arch/l4/l4lxlib/$(BASEENV)/
@@ -299,7 +308,7 @@
@@ -291,7 +300,7 @@
core-y += arch/l4/
@ -932,31 +939,30 @@ Index: arch/l4/Makefile
L4_REQUIRED_MODS := libc_be_minimal_log_io \
libc_minimal libc_minimal_l4re \
@@ -315,15 +324,16 @@
@@ -307,15 +316,17 @@
$(error Aborting.)
endif
-libs-y += -Bstatic $(L4_LIBDIRS) -ll4sys -ll4sys-direct
-libs-y += -Bstatic $(L4_LIBDIRS) -ll4sys -ll4sys-direct -lgcc-l4
+libs-y += -Bstatic $(L4_LIBDIRS)
+#-ll4sys -ll4sys-direct -lgcc-l4
+libs-y += $(GENODE_LIBS)
export L4INC L4_REQUIRED_MODS
-LDFLAGS_vmlinux = \
- --defsym __L4_KIP_ADDR__=$(L4_BID_KIP_ADDR) \
- --defsym __l4sys_invoke_direct=$(L4_BID_KIP_ADDR)+$(L4_BID_KIP_OFFS_SYS_INVOKE) \
- --defsym __l4sys_debugger_direct=$(L4_BID_KIP_ADDR)+$(L4_BID_KIP_OFFS_SYS_DEBUGGER)
+LDFLAGS_vmlinux = -nostdlib
+# --defsym __L4_KIP_ADDR__=$(L4_BID_KIP_ADDR) \
+ -nostdlib
+#--defsym __l4sys_invoke_direct=$(L4_BID_KIP_ADDR)+$(L4_BID_KIP_OFFS_SYS_INVOKE) \
+ --defsym __l4sys_debugger_direct=$(L4_BID_KIP_ADDR)+$(L4_BID_KIP_OFFS_SYS_DEBUGGER) \
--defsym __l4sys_invoke_direct=$(L4_BID_KIP_ADDR)+$(L4_BID_KIP_OFFS_SYS_INVOKE) \
--defsym __l4sys_debugger_direct=$(L4_BID_KIP_ADDR)+$(L4_BID_KIP_OFFS_SYS_DEBUGGER)
-KBUILD_CPPFLAGS += -Iarch/l4/include/asm/l4-arch \
+KBUILD_CPPFLAGS += $(GENODE_INCLUDES) -Iarch/l4/include/asm/l4-arch \
-I$(src)/arch/$(LINSRCARCH)/include \
-Iarch/l4/include/asm/$(LINSRCARCH)-arch \
-Iarch/l4/include/asm/orig-arch \
@@ -342,6 +352,8 @@
KBUILD_CPPFLAGS += -DTEXT_OFFSET=0x0100000
-Iarch/$(LINSRCARCH)/include/generated \
$(if $(PLATFORMNAME),-I$(src)/arch/l4/include/asm/mach-$(LINSRCARCH)/$(PLATFORMNAME)) \
$(if $(PLATFORMNAME),-I$(src)/arch/l4/include/asm/plat-$(LINSRCARCH)/$(PLATFORMNAME)) \
@@ -337,6 +348,8 @@
KBUILD_CPPFLAGS += -DTEXT_OFFSET=0x01000000
endif
+drivers-y += arch/l4/drivers/
@ -964,7 +970,7 @@ Index: arch/l4/Makefile
all: lImage
boot := arch/l4/boot
@@ -350,11 +362,11 @@
@@ -345,11 +358,11 @@
$(Q)$(MAKE) $(build)=$(boot) $@
check_for_l4defs:
@ -983,7 +989,7 @@ Index: arch/l4/Makefile
$(Q)$(MAKE) $(build)=arch/l4/server
Index: drivers/tty/serial/l4ser.c
===================================================================
--- drivers/tty/serial/l4ser.c (revision 23)
--- drivers/tty/serial/l4ser.c (revision 25)
+++ drivers/tty/serial/l4ser.c (working copy)
@@ -22,10 +22,12 @@
#include <linux/serial.h>
@ -998,33 +1004,30 @@ Index: drivers/tty/serial/l4ser.c
#include <asm/generic/setup.h>
#include <asm/generic/cap_alloc.h>
#include <asm/generic/util.h>
@@ -128,7 +130,10 @@
@@ -118,7 +120,7 @@
int c;
if (port->x_char) {
L4XV_L(f);
+#if 0
l4_vcon_write(l4port->vcon_cap, &port->x_char, 1);
+#endif
+ LOG_printf("%c", port->x_char);
L4XV_U(f);
- L4XV_FN_v(l4_vcon_write(l4port->vcon_cap, &port->x_char, 1));
+ L4XV_FN_v(l4_vcon_write(LOG_printf("%c", port->x_char));
port->icount.tx++;
port->x_char = 0;
@@ -140,7 +145,14 @@
return;
@@ -128,7 +130,12 @@
c = CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE);
if (c > L4_VCON_WRITE_SIZE)
c = L4_VCON_WRITE_SIZE;
L4XV_L(f);
+#if 0
l4_vcon_write(l4port->vcon_cap, &xmit->buf[xmit->tail], c);
+#endif
- L4XV_FN_v(l4_vcon_write(l4port->vcon_cap, &xmit->buf[xmit->tail], c));
+ L4XV_L(f);
+ char *ptr = (char*)&xmit->buf[xmit->tail], old = ptr[c];
+ ptr[c] = 0;
+ LOG_printf("%s", ptr);
+ ptr[c] = old;
+
L4XV_U(f);
+ L4XV_U(f);
xmit->tail = (xmit->tail + c) & (UART_XMIT_SIZE - 1);
port->icount.tx += c;
@@ -260,7 +272,7 @@
}
@@ -247,7 +254,7 @@
if (l4ser_port[num].inited)
return 0;
l4ser_port[num].inited = 1;
@ -1033,47 +1036,33 @@ Index: drivers/tty/serial/l4ser.c
if ((r = l4x_re_resolve_name(name, &l4ser_port[num].vcon_cap))) {
if (num == 0)
l4ser_port[num].vcon_cap = l4re_env()->log;
@@ -301,11 +313,13 @@
L4XV_U(f);
return -EIO;
}
-
+#endif
@@ -285,7 +292,7 @@
vcon_attr.i_flags = 0;
vcon_attr.o_flags = 0;
vcon_attr.l_flags = 0;
+#if 0
l4_vcon_set_attr(l4ser_port[num].vcon_cap, &vcon_attr);
+#endif
L4XV_U(f);
- L4XV_FN_v(l4_vcon_set_attr(l4ser_port[num].vcon_cap, &vcon_attr));
+// L4XV_FN_v(l4_vcon_set_attr(l4ser_port[num].vcon_cap, &vcon_attr));
l4ser_port[num].port.uartclk = 3686400;
@@ -349,7 +363,14 @@
l4ser_port[num].port.ops = &l4ser_pops;
@@ -326,7 +333,13 @@
unsigned c = count;
if (c > L4_VCON_WRITE_SIZE)
c = L4_VCON_WRITE_SIZE;
L4XV_L(f);
+#if 0
l4_vcon_write(l4ser_port[co->index].vcon_cap, s, c);
+#endif
- L4XV_FN_v(l4_vcon_write(l4ser_port[co->index].vcon_cap, s, c));
+ L4XV_L(f);
+ char *ptr = (char*)s, old = ptr[c];
+ ptr[c] = 0;
+ LOG_printf("%s", ptr);
+ ptr[c] = old;
+
L4XV_U(f);
+ L4XV_U(f);
count -= c;
} while (count);
@@ -396,6 +417,7 @@
int ret, i;
printk(KERN_INFO "L4 serial driver\n");
+ LOG_printf("L4 serial driver\n");
if (l4ser_init_port(0, PORT0_NAME))
return -ENODEV;
}
Index: include/asm-generic/vmlinux.lds.h
===================================================================
--- include/asm-generic/vmlinux.lds.h (revision 23)
--- include/asm-generic/vmlinux.lds.h (revision 25)
+++ include/asm-generic/vmlinux.lds.h (working copy)
@@ -371,6 +371,7 @@
VMLINUX_SYMBOL(__start___modver) = .; \

View File

@ -1,19 +0,0 @@
Index: net/ipv4/tcp.c
===================================================================
--- net/ipv4/tcp.c (revision 23)
+++ net/ipv4/tcp.c (working copy)
@@ -3285,8 +3285,13 @@
/* Set per-socket limits to no more than 1/128 the pressure threshold */
limit = ((unsigned long)sysctl_tcp_mem[1]) << (PAGE_SHIFT - 7);
- max_share = min(4UL*1024*1024, limit);
+ /*
+ * Adjust limit so it performs well on systems with little memory. If
+ * this causes errors increase L4Linux main memory
+ */
+ max_share = min(4UL*1024*1024, limit < 768U * 1024 ? 768U * 1024 : limit);
+
sysctl_tcp_wmem[0] = SK_MEM_QUANTUM;
sysctl_tcp_wmem[1] = 16*1024;
sysctl_tcp_wmem[2] = max(64*1024, max_share);

View File

@ -89,7 +89,17 @@ append_if [have_spec lan9118] config {
append config {
<start name="l4linux">
<resource name="RAM" quantum="128M"/>
<config args="mem=64M console=ttyS0 l4x_rd=initrd.gz l4x_cpus=2 l4x_cpus_map=0,0"/>
}
append_if [have_spec x86] config {
<config args="mem=64M console=ttyS0 l4x_rd=initrd.gz l4x_cpus=2 l4x_cpus_map=0,1"/>
}
append_if [have_spec arm] config {
<config args="mem=64M console=ttyS0 l4x_rd=initrd.gz"/>
}
append config {
</start>
</config>}
@ -122,9 +132,9 @@ build_boot_image [join $boot_modules " "]
# Qemu
#
append qemu_args " -m 128 -nographic "
append qemu_args " -smp 2,cores=2 "
append qemu_args " -serial unix:/tmp/qemu-pipe,server,nowait "
append qemu_args " -serial mon:stdio "
append_if [have_spec x86] qemu_args " -smp 2,cores=2 "
append_if [have_spec x86] qemu_args " -net nic,model=e1000 -net user "
append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 -net user "

View File

@ -16,6 +16,7 @@
#include <linux/errno.h>
#include <linux/inet.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/module.h>

View File

@ -30,9 +30,11 @@ struct l4x_irq_desc_private {
struct irq_data {
unsigned int irq;
unsigned long hwirq;
unsigned int node;
unsigned int state_use_accessors;
struct irq_chip *chip;
struct irq_domain *domain;
void *handler_data;
void *chip_data;
};

View File

@ -24,6 +24,11 @@ namespace Fiasco {
typedef Fiasco::l4_utcb_t *l4lx_thread_t;
struct l4lx_thread_start_info_t {
Fiasco::l4_cap_idx_t l4cap;
Fiasco::l4_umword_t ip, sp;
};
#ifdef __cplusplus
extern "C" {
#endif
@ -33,12 +38,14 @@ FASTCALL Fiasco::l4_cap_idx_t l4x_cpu_thread_get_cap(int cpu);
FASTCALL void l4lx_thread_init(void);
FASTCALL void l4lx_thread_alloc_irq(Fiasco::l4_cap_idx_t c);
FASTCALL l4lx_thread_t l4lx_thread_create(L4_CV void (*thread_func)(void *data),
unsigned cpu_nr,
void *stack_pointer,
void *stack_data, unsigned stack_data_size,
int prio,
Fiasco::l4_vcpu_state_t **vcpu_state,
const char *name);
unsigned cpu_nr,
void *stack_pointer,
void *stack_data, unsigned stack_data_size,
Fiasco::l4_cap_idx_t l4cap, int prio,
Fiasco::l4_vcpu_state_t **vcpu_state,
const char *name,
struct l4lx_thread_start_info_t *deferstart);
FASTCALL int l4lx_thread_start(struct l4lx_thread_start_info_t *startinfo);
FASTCALL int l4lx_thread_is_valid(l4lx_thread_t t);
FASTCALL Fiasco::l4_cap_idx_t l4lx_thread_get_cap(l4lx_thread_t t);
FASTCALL void l4lx_thread_pager_change(Fiasco::l4_cap_idx_t thread,

View File

@ -36,9 +36,10 @@ namespace L4lx {
private:
void (*_func)(void *data);
void *_data;
unsigned long _data;
Genode::addr_t _vcpu_state;
Timer::Connection _timer;
unsigned _cpu_nr;
static void _startup()
{
@ -50,23 +51,23 @@ namespace L4lx {
protected:
void entry() {
_func(_data);
_func(&_data);
Genode::sleep_forever();
}
public:
Vcpu(const char *name,
Vcpu(const char *str,
void (*func)(void *data),
void *data,
unsigned long *data,
Genode::size_t stack_size,
Genode::addr_t vcpu_state)
: Genode::Thread_base(name, stack_size),
Genode::addr_t vcpu_state,
unsigned cpu_nr)
: Genode::Thread_base(str, stack_size),
_func(func),
_data(data),
_vcpu_state(vcpu_state) { start(); }
void start()
_data(data ? *data : 0),
_vcpu_state(vcpu_state),
_cpu_nr(cpu_nr)
{
using namespace Genode;
using namespace Fiasco;
@ -94,6 +95,11 @@ namespace L4lx {
l4_utcb_tcr_u(state.utcb)->user[UTCB_TCR_BADGE] = (unsigned long) i;
l4_utcb_tcr_u(state.utcb)->user[UTCB_TCR_THREAD_OBJ] = (addr_t)this;
l4_utcb_tcr_u(state.utcb)->user[0] = state.kcap; /* L4X_UTCB_TCR_ID */
}
void start()
{
using namespace Genode;
/* register initial IP and SP at core */
addr_t stack = (addr_t)&_context->stack[-4];
@ -102,8 +108,14 @@ namespace L4lx {
if (_vcpu_state)
vcpu_connection()->enable_vcpu(_thread_cap, _vcpu_state);
set_affinity(_cpu_nr);
}
Genode::addr_t sp() {
return ((Genode::addr_t)&_context->stack[-4]) & ~0xf; }
Genode::addr_t ip() { return (Genode::addr_t)_startup; }
Fiasco::l4_utcb_t *utcb() { return _context->utcb; };
Timer::Connection* timer() { return &_timer; }

View File

@ -33,7 +33,7 @@ extern "C" {
void LOG_vprintf(const char *format, va_list list)
{
PWRN("%s: Not implemented yet!", __func__);
Genode::vprintf(format, list);
}

View File

@ -33,7 +33,7 @@ extern void* l4lx_kinfo;
extern "C" {
l4re_env_cap_entry_t const * l4re_get_env_cap_l(char const *name,
l4re_env_cap_entry_t const * l4re_env_get_cap_l(char const *name,
unsigned l,
l4re_env_t const *e)
{

View File

@ -38,51 +38,6 @@ unsigned int l4lx_irq_max = l4x_nr_irqs();
extern l4_kernel_info_t *l4lx_kinfo;
void timer_irq_thread(void *data)
{
l4_timeout_t to;
l4_kernel_clock_t pint;
l4_utcb_t *u = l4_utcb();
struct l4x_irq_desc_private *p =
(struct l4x_irq_desc_private*) irq_get_chip_data(TIMER_IRQ);
pint = l4lx_kinfo->clock;
for (;;) {
pint += 1000000 / l4x_hz();
if (pint > l4lx_kinfo->clock) {
l4_rcv_timeout(l4_timeout_abs_u(pint, 1, u), &to);
l4_ipc_receive(L4_INVALID_CAP, u, to);
}
if (l4_error(l4_irq_trigger(p->irq_cap)) != -1)
PWRN("IRQ timer trigger failed\n");
}
}
static unsigned int startup_timer(struct l4x_irq_desc_private *p)
{
char name[15];
int cpu = 0;//smp_processor_id();
unsigned long flags = 0;
l4x_irq_save(flags);
Genode::snprintf(name, sizeof(name), "timer.i%d", TIMER_IRQ);
static Genode::Native_capability timer_cap = L4lx::vcpu_connection()->alloc_irq();
p->irq_cap = timer_cap.dst();
p->cpu = 0;
l4lx_thread_create(timer_irq_thread, cpu, 0, 0, 0, 0, 0, name);
l4x_irq_save(flags);
l4lx_irq_dev_enable(irq_get_irq_data(TIMER_IRQ));
return 1;
}
extern "C" {
FASTCALL l4_cap_idx_t l4x_have_irqcap(int irqnum);
@ -107,9 +62,6 @@ unsigned int l4lx_irq_dev_startup(struct irq_data *data)
if (DEBUG)
PDBG("irq=%d", irq);
if (irq == TIMER_IRQ)
return startup_timer(p);
/* First test whether a capability has been registered with
* this IRQ number */
p->irq_cap = l4x_have_irqcap(irq);
@ -117,6 +69,7 @@ unsigned int l4lx_irq_dev_startup(struct irq_data *data)
PERR("Invalid irq cap!");
return 0;
}
l4lx_irq_dev_enable(data);
return 1;
}

View File

@ -103,9 +103,10 @@ l4lx_thread_t l4lx_thread_create(L4_CV void (*thread_func)(void *data),
unsigned cpu_nr,
void *stack_pointer,
void *stack_data, unsigned stack_data_size,
int prio,
l4_cap_idx_t l4cap, int prio,
l4_vcpu_state_t **vcpu_state,
const char *name)
const char *name,
struct l4lx_thread_start_info_t *deferstart)
{
using namespace L4lx;
@ -125,15 +126,34 @@ l4lx_thread_t l4lx_thread_create(L4_CV void (*thread_func)(void *data),
}
Vcpu *vc = new (Genode::env()->heap()) Vcpu(name, thread_func,
stack_data, 1024 * 64,
(Genode::addr_t)addr);
(unsigned long*)stack_data, 1024 * 64,
(Genode::addr_t)addr,
l4x_cpu_physmap_get_id(cpu_nr));
vcpus[thread_id(vc->utcb())] = vc;
vc->set_affinity(l4x_cpu_physmap_get_id(cpu_nr));
if (!deferstart)
vc->start();
else {
deferstart->l4cap = (l4_cap_idx_t) vc;
deferstart->sp = (l4_umword_t)vc->sp();
deferstart->ip = (l4_umword_t)vc->ip();
}
return vc->utcb();
}
int l4lx_thread_start(struct l4lx_thread_start_info_t *startinfo)
{
if (DEBUG)
PDBG("ip=%lx sp=%lx", startinfo->ip, startinfo->sp);
L4lx::Vcpu *vc = (L4lx::Vcpu*) startinfo->l4cap;
vc->start();
return 0;
}
void l4lx_thread_pager_change(l4_cap_idx_t thread, l4_cap_idx_t pager)
{
if (DEBUG)