Changeset b535aeb in mainline
- Timestamp:
- 2010-03-20T22:02:05Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 37f527b
- Parents:
- 39e8406 (diff), 4e9aaf5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 1 added
- 2 deleted
- 75 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
r39e8406 rb535aeb 27 27 # 28 28 29 ## Include configuration30 #31 32 29 CSCOPE = cscope 33 30 CONFIG = tools/config.py 31 AUTOTOOL = tools/autotool.py 32 SANDBOX = autotool 34 33 35 .PHONY: all config config_default distclean clean cscope precheck 34 CONFIG_RULES = HelenOS.config 36 35 37 all: Makefile.config config.h config.defs 36 COMMON_MAKEFILE = Makefile.common 37 COMMON_HEADER = common.h 38 COMMON_HEADER_PREV = $(COMMON_HEADER).prev 39 40 CONFIG_MAKEFILE = Makefile.config 41 CONFIG_HEADER = config.h 42 43 .PHONY: all precheck cscope autotool config_default config distclean clean 44 45 all: $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) 46 cp -a $(COMMON_HEADER) $(COMMON_HEADER_PREV) 38 47 $(MAKE) -C kernel PRECHECK=$(PRECHECK) 39 48 $(MAKE) -C uspace PRECHECK=$(PRECHECK) … … 46 55 find kernel boot uspace -regex '^.*\.[chsS]$$' | xargs $(CSCOPE) -b -k -u -f$(CSCOPE).out 47 56 48 Makefile.config: config_default 57 $(COMMON_MAKEFILE): autotool 58 $(COMMON_HEADER): autotool 49 59 50 config.h: config_default 60 autotool: $(CONFIG_MAKEFILE) 61 $(AUTOTOOL) 62 -[ -f $(COMMON_HEADER_PREV) ] && diff -q $(COMMON_HEADER_PREV) $(COMMON_HEADER) && mv -f $(COMMON_HEADER_PREV) $(COMMON_HEADER) 51 63 52 config.defs: config_default 64 $(CONFIG_MAKEFILE): config_default 65 $(CONFIG_HEADER): config_default 53 66 54 config_default: HelenOS.config55 $(CONFIG) HelenOS.configdefault67 config_default: $(CONFIG_RULES) 68 $(CONFIG) $< default 56 69 57 config: HelenOS.config58 $(CONFIG) HelenOS.config70 config: $(CONFIG_RULES) 71 $(CONFIG) $< 59 72 60 73 distclean: clean 61 rm -f $(CSCOPE).out Makefile.config config.h config.defstools/*.pyc tools/checkers/*.pyc74 rm -f $(CSCOPE).out $(COMMON_MAKEFILE) $(COMMON_HEADER) $(COMMON_HEADER_PREV) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) tools/*.pyc tools/checkers/*.pyc 62 75 63 76 clean: 77 rm -fr $(SANDBOX) 64 78 $(MAKE) -C kernel clean 65 79 $(MAKE) -C uspace clean -
boot/Makefile
r39e8406 rb535aeb 30 30 # 31 31 32 -include ../Makefile.common 32 33 -include ../Makefile.config 33 -include ../config.defs34 34 35 35 ## Paths … … 42 42 .PHONY: all build clean generic_clean 43 43 44 all: ../Makefile.co nfig ../config.h ../config.defsbuild44 all: ../Makefile.common ../Makefile.config ../config.h build 45 45 46 46 -include arch/$(BARCH)/Makefile.inc -
boot/Makefile.common
r39e8406 rb535aeb 27 27 # 28 28 29 -include ../Makefile.common 29 30 -include ../Makefile.config 30 31 -
boot/arch/arm32/loader/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: ../../../../version ../../../../Makefile.co nfig ../../../../config.h ../../../../config.defs34 all: ../../../../version ../../../../Makefile.common ../../../../Makefile.config ../../../../config.h 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
boot/arch/arm32/loader/Makefile.build
r39e8406 rb535aeb 32 32 33 33 include ../../../../version 34 include ../../../../Makefile.common 34 35 include ../../../../Makefile.config 35 include ../../../../config.defs36 36 include Makefile.common 37 37 include Makefile.toolchain -
boot/arch/arm32/loader/Makefile.toolchain
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 ifndef CROSS_PREFIX33 CROSS_PREFIX = /usr/local34 endif35 36 29 BFD_NAME = elf32-littlearm 37 30 BFD_ARCH = arm 38 TARGET = arm-linux-gnu39 TOOLCHAIN_DIR = $(CROSS_PREFIX)/arm32/bin40 31 41 32 JOBFILE = ../../../../tools/jobfile.py 42 43 ifeq ($(COMPILER),gcc_native)44 CC = gcc45 AS = as46 LD = ld47 OBJCOPY = objcopy48 OBJDUMP = objdump49 endif50 51 ifeq ($(COMPILER),gcc_cross)52 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc53 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as54 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld55 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy56 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump57 endif58 33 59 34 CFLAGS = \ -
boot/arch/ia64/loader/Makefile
r39e8406 rb535aeb 29 29 30 30 include Makefile.common 31 include ../../../../Makefile.common 31 32 include ../../../../Makefile.config 32 33 33 34 .PHONY: all clean 34 35 35 all: ../../../../version ../../../../Makefile.co nfig ../../../../config.h ../../../../config.defs36 all: ../../../../version ../../../../Makefile.common ../../../../Makefile.config ../../../../config.h 36 37 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 37 38 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
boot/arch/ia64/loader/Makefile.build
r39e8406 rb535aeb 32 32 33 33 include ../../../../version 34 include ../../../../Makefile.common 34 35 include ../../../../Makefile.config 35 include ../../../../config.defs36 36 include Makefile.common 37 37 include Makefile.toolchain … … 60 60 $(OUTPUT): $(OBJECTS) $(COMPONENT_OBJECTS) $(LINK) 61 61 $(LD) -no-check-sections -N -T $(LINK) $(COMPONENT_OBJECTS) $(OBJECTS) -o $@ 62 $(MAKE) -C gefi/HelenOS PREFIX=$(GEFI_PREFIX)62 $(MAKE) -C gefi/HelenOS 63 63 cp gefi/HelenOS/hello.efi ../../../../ 64 64 cp gefi/HelenOS/image.bin ../../../../ -
boot/arch/ia64/loader/Makefile.common
r39e8406 rb535aeb 31 31 # 32 32 33 include ../../../../Makefile.common 33 34 include ../../../../Makefile.config 34 35 include ../../../Makefile.common -
boot/arch/ia64/loader/Makefile.toolchain
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 ifndef CROSS_PREFIX33 CROSS_PREFIX = /usr/local34 endif35 36 29 BFD_NAME = elf64-ia64-little 37 30 BFD_ARCH = ia64 38 TARGET = ia64-pc-linux-gnu39 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia64/bin40 31 41 32 JOBFILE = ../../../../tools/jobfile.py 42 43 ifeq ($(COMPILER),gcc_native)44 CC = gcc45 AS = as46 LD = ld47 OBJCOPY = objcopy48 OBJDUMP = objdump49 GEFI_PREFIX =50 endif51 52 ifeq ($(COMPILER),icc)53 CC = icc54 AS = as55 LD = ld56 OBJCOPY = objcopy57 OBJDUMP = objdump58 GEFI_PREFIX =59 endif60 61 ifeq ($(COMPILER),gcc_cross)62 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc63 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as64 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld65 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy66 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump67 GEFI_PREFIX = $(TOOLCHAIN_DIR)/$(TARGET)-68 endif69 33 70 34 CFLAGS = \ -
boot/arch/ia64/loader/gefi/HelenOS/Makefile
r39e8406 rb535aeb 22 22 # 23 23 24 prefix=$(PREFIX)25 24 include ../Make.defaults 26 25 CDIR=$(TOPDIR)/.. … … 69 68 70 69 gefi: 71 $(MAKE) -C .. prefix=$(PREFIX)70 $(MAKE) -C .. -
boot/arch/ia64/loader/gefi/Make.defaults
r39e8406 rb535aeb 26 26 # lib and include under the root 27 27 # 28 29 include ../../../../../Makefile.common 30 28 31 INSTALLROOT=/usr/local 29 32 … … 31 34 32 35 ARCH = ia64 33 INCDIR = -I. -I$(CDIR)/inc -I$(CDIR)/inc/$(ARCH) -I$(CDIR)/inc/protocol 36 INCDIR = -I. -I$(CDIR)/inc -I$(CDIR)/inc/$(ARCH) -I$(CDIR)/inc/protocol 34 37 CPPFLAGS = -DCONFIG_$(ARCH) 35 38 CFLAGS = -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants -frename-registers -mfixed-range=f32-f127 36 39 LDFLAGS = -nostdlib 37 40 INSTALL = install 38 39 CC = $(prefix)gcc40 AS = $(prefix)as41 LD = $(prefix)ld42 AR = $(prefix)ar43 RANLIB = $(prefix)ranlib44 OBJCOPY = $(prefix)objcopy45 OBJDUMP = $(prefix)objdump -
boot/arch/mips32/loader/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: ../../../../version ../../../../Makefile.co nfig ../../../../config.h ../../../../config.defs34 all: ../../../../version ../../../../Makefile.common ../../../../Makefile.config ../../../../config.h 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
boot/arch/mips32/loader/Makefile.build
r39e8406 rb535aeb 32 32 33 33 include ../../../../version 34 include ../../../../Makefile.common 34 35 include ../../../../Makefile.config 35 include ../../../../config.defs36 36 include Makefile.common 37 37 include Makefile.toolchain -
boot/arch/mips32/loader/Makefile.toolchain
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 ifndef CROSS_PREFIX33 CROSS_PREFIX = /usr/local34 endif35 36 29 BFD_ARCH = mips 37 TARGET = mipsel-linux-gnu38 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32/bin39 30 40 31 JOBFILE = ../../../../tools/jobfile.py … … 48 39 BFD_NAME = elf32-tradbigmips 49 40 BFD = ecoff-bigmips 50 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32eb/bin51 TARGET = mips-linux-gnu52 41 endif 53 42 … … 55 44 BFD_NAME = elf32-tradlittlemips 56 45 BFD = binary 57 endif58 59 ifeq ($(COMPILER),gcc_native)60 CC = gcc61 AS = as62 LD = ld63 OBJCOPY = objcopy64 OBJDUMP = objdump65 endif66 67 ifeq ($(COMPILER),gcc_cross)68 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc69 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as70 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld71 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy72 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump73 46 endif 74 47 -
boot/arch/ppc32/loader/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: ../../../../version ../../../../Makefile.co nfig ../../../../config.h ../../../../config.defs34 all: ../../../../version ../../../../Makefile.common ../../../../Makefile.config ../../../../config.h 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
boot/arch/ppc32/loader/Makefile.build
r39e8406 rb535aeb 32 32 33 33 include ../../../../version 34 include ../../../../Makefile.common 34 35 include ../../../../Makefile.config 35 include ../../../../config.defs36 36 include Makefile.common 37 37 include Makefile.toolchain -
boot/arch/ppc32/loader/Makefile.toolchain
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 ifndef CROSS_PREFIX33 CROSS_PREFIX = /usr/local34 endif35 36 29 BFD_NAME = elf32-powerpc 37 30 BFD_ARCH = powerpc:common 38 TARGET = ppc-linux-gnu39 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ppc32/bin40 31 41 32 JOBFILE = ../../../../tools/jobfile.py 42 43 ifeq ($(COMPILER),gcc_native)44 CC = gcc45 AS = as46 LD = ld47 OBJCOPY = objcopy48 OBJDUMP = objdump49 endif50 51 ifeq ($(COMPILER),gcc_cross)52 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc53 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as54 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld55 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy56 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump57 endif58 33 59 34 CFLAGS = \ -
boot/arch/sparc64/loader/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: ../../../../version ../../../../Makefile.co nfig ../../../../config.h ../../../../config.defs34 all: ../../../../version ../../../../Makefile.common ../../../../Makefile.config ../../../../config.h 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
boot/arch/sparc64/loader/Makefile.build
r39e8406 rb535aeb 32 32 33 33 include ../../../../version 34 include ../../../../Makefile.common 34 35 include ../../../../Makefile.config 35 include ../../../../config.defs36 36 include Makefile.common 37 37 include Makefile.toolchain -
boot/arch/sparc64/loader/Makefile.toolchain
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 ifndef CROSS_PREFIX33 CROSS_PREFIX = /usr/local34 endif35 36 29 BFD_NAME = elf64-sparc 37 30 BFD_ARCH = sparc 38 TARGET = sparc64-linux-gnu39 TOOLCHAIN_DIR = $(CROSS_PREFIX)/sparc64/bin40 31 41 32 JOBFILE = ../../../../tools/jobfile.py 42 43 ifeq ($(COMPILER),gcc_native)44 CC = gcc45 AS = as46 LD = ld47 OBJCOPY = objcopy48 OBJDUMP = objdump49 endif50 51 ifeq ($(COMPILER),gcc_cross)52 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc53 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as54 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld55 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy56 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump57 endif58 33 59 34 CFLAGS = \ -
kernel/Makefile
r39e8406 rb535aeb 27 27 # 28 28 29 include Makefile.common 29 ## Configuration 30 # 31 32 ROOT_PATH = .. 33 34 VERSION_DEF = $(ROOT_PATH)/version 35 36 COMMON_MAKEFILE = $(ROOT_PATH)/Makefile.common 37 COMMON_HEADER = $(ROOT_PATH)/common.h 38 COMMON_HEADER_ARCH = arch/$(KARCH)/include/common.h 39 40 CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config 41 CONFIG_HEADER = $(ROOT_PATH)/config.h 42 43 -include $(VERSION_DEF) 44 -include $(COMMON_MAKEFILE) 45 -include $(CONFIG_MAKEFILE) 46 47 ## Common names 48 # 49 50 DEPEND = Makefile.depend 51 DEPEND_PREV = $(DEPEND).prev 52 RAW = kernel.raw 53 BIN = kernel.bin 54 MAP = kernel.map 55 JOB = kernel.job 56 MAP_PREV = $(MAP).prev 57 DISASM = kernel.disasm 58 DUMP = kernel.dump 59 REAL_MAP = generic/src/debug/real_map 60 61 ARCH_INCLUDE = generic/include/arch 62 GENARCH_INCLUDE = generic/include/genarch 63 64 GENMAP = tools/genmap.py 65 JOBFILE = $(ROOT_PATH)/tools/jobfile.py 66 67 LINK = arch/$(KARCH)/_link.ld 68 EMPTY_MAP = generic/src/debug/empty_map.o 69 SIZEOK_MAP = generic/src/debug/sizeok_map.o 70 71 INCLUDES = generic/include 72 OPTIMIZATION = 3 30 73 31 74 .PHONY: all clean 32 75 33 all: ../version ../Makefile.config ../config.h ../config.defs 34 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 35 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) 76 all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(BIN) $(DISASM) 77 -[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV) 36 78 37 79 clean: 38 rm -f $(DEPEND) $(DEPEND_PREV) $(RAW) $(BIN) $(MAP) $(JOB) $(MAP_PREV) $(DISASM) $(DUMP) $(REAL_MAP).* $(ARCH_INCLUDE) $(GENARCH_INCLUDE) arch/*/_link.ld 80 rm -f $(DEPEND) $(DEPEND_PREV) $(RAW) $(BIN) $(MAP) $(JOB) $(MAP_PREV) $(DISASM) $(DUMP) $(REAL_MAP).* $(ARCH_INCLUDE) $(GENARCH_INCLUDE) arch/*/_link.ld arch/*/include/common.h 39 81 find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \; 82 83 ## Common compiler flags 84 # 85 86 DEFS = -DKERNEL -DRELEASE=$(RELEASE) "-DNAME=$(NAME)" -D__$(BITS)_BITS__ -D__$(ENDIANESS)__ 87 88 GCC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros ../config.h \ 89 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 90 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ 91 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 92 -Werror-implicit-function-declaration -Wwrite-strings \ 93 -Werror -pipe 94 95 ICC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros ../config.h \ 96 -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wmissing-prototypes \ 97 -Werror-implicit-function-declaration -Werror -wd170 98 99 SUNCC_CFLAGS = -I$(INCLUDES) -xO$(OPTIMIZATION) \ 100 -xnolib -xc99=all -features=extensions \ 101 -erroff=E_ZERO_SIZED_STRUCT_UNION 102 103 CLANG_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros ../config.h \ 104 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 105 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ 106 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 107 -Werror-implicit-function-declaration -Wwrite-strings \ 108 -pipe -arch $(CLANG_ARCH) 109 110 LFLAGS = -M 111 AFLAGS = 112 113 -include arch/$(KARCH)/Makefile.inc 114 -include genarch/Makefile.inc 115 -include $(DEPEND) 116 117 ## The at-sign 118 # 119 # The $(ATSIGN) variable holds the ASCII character representing the at-sign 120 # ('@') used in various $(AS) constructs (e.g. @progbits). On architectures that 121 # don't use '@' for starting a comment, $(ATSIGN) is merely '@'. However, on 122 # those that do use it for starting a comment (e.g. arm32), $(ATSIGN) must be 123 # defined as the percentile-sign ('%') in the architecture-dependent 124 # Makefile.inc. 125 # 126 127 ATSIGN ?= @ 128 129 ## Cross-platform assembly to start a symtab.data section 130 # 131 132 SYMTAB_SECTION = ".section symtab.data, \"a\", $(ATSIGN)progbits;" 133 134 ## Compilation options 135 # 136 137 ifeq ($(COMPILER),gcc_native) 138 CFLAGS = $(GCC_CFLAGS) 139 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 140 endif 141 142 ifeq ($(COMPILER),gcc_cross) 143 CFLAGS = $(GCC_CFLAGS) 144 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 145 endif 146 147 ifeq ($(COMPILER),icc) 148 CFLAGS = $(ICC_CFLAGS) 149 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 150 endif 151 152 ifeq ($(COMPILER),suncc) 153 CFLAGS = $(SUNCC_CFLAGS) 154 DEFS += $(CONFIG_DEFS) 155 DEPEND_DEFS = $(DEFS) 156 endif 157 158 ifeq ($(COMPILER),clang) 159 CFLAGS = $(CLANG_CFLAGS) 160 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 161 endif 162 163 ## Generic kernel sources 164 # 165 166 GENERIC_SOURCES = \ 167 generic/src/adt/avl.c \ 168 generic/src/adt/bitmap.c \ 169 generic/src/adt/btree.c \ 170 generic/src/adt/hash_table.c \ 171 generic/src/adt/list.c \ 172 generic/src/console/chardev.c \ 173 generic/src/console/console.c \ 174 generic/src/cpu/cpu.c \ 175 generic/src/ddi/ddi.c \ 176 generic/src/ddi/irq.c \ 177 generic/src/ddi/device.c \ 178 generic/src/debug/symtab.c \ 179 generic/src/debug/stacktrace.c \ 180 generic/src/interrupt/interrupt.c \ 181 generic/src/main/main.c \ 182 generic/src/main/kinit.c \ 183 generic/src/main/uinit.c \ 184 generic/src/main/version.c \ 185 generic/src/main/shutdown.c \ 186 generic/src/proc/program.c \ 187 generic/src/proc/scheduler.c \ 188 generic/src/proc/thread.c \ 189 generic/src/proc/task.c \ 190 generic/src/proc/the.c \ 191 generic/src/proc/tasklet.c \ 192 generic/src/syscall/syscall.c \ 193 generic/src/syscall/copy.c \ 194 generic/src/mm/buddy.c \ 195 generic/src/mm/frame.c \ 196 generic/src/mm/page.c \ 197 generic/src/mm/tlb.c \ 198 generic/src/mm/as.c \ 199 generic/src/mm/backend_anon.c \ 200 generic/src/mm/backend_elf.c \ 201 generic/src/mm/backend_phys.c \ 202 generic/src/mm/slab.c \ 203 generic/src/lib/func.c \ 204 generic/src/lib/memstr.c \ 205 generic/src/lib/sort.c \ 206 generic/src/lib/string.c \ 207 generic/src/lib/elf.c \ 208 generic/src/lib/rd.c \ 209 generic/src/printf/printf_core.c \ 210 generic/src/printf/printf.c \ 211 generic/src/printf/snprintf.c \ 212 generic/src/printf/vprintf.c \ 213 generic/src/printf/vsnprintf.c \ 214 generic/src/time/clock.c \ 215 generic/src/time/timeout.c \ 216 generic/src/time/delay.c \ 217 generic/src/preempt/preemption.c \ 218 generic/src/synch/spinlock.c \ 219 generic/src/synch/condvar.c \ 220 generic/src/synch/rwlock.c \ 221 generic/src/synch/mutex.c \ 222 generic/src/synch/semaphore.c \ 223 generic/src/synch/smc.c \ 224 generic/src/synch/waitq.c \ 225 generic/src/synch/futex.c \ 226 generic/src/smp/ipi.c \ 227 generic/src/smp/smp.c \ 228 generic/src/ipc/ipc.c \ 229 generic/src/ipc/sysipc.c \ 230 generic/src/ipc/ipcrsc.c \ 231 generic/src/ipc/irq.c \ 232 generic/src/ipc/event.c \ 233 generic/src/security/cap.c \ 234 generic/src/sysinfo/sysinfo.c 235 236 ## Kernel console support 237 # 238 239 ifeq ($(CONFIG_KCONSOLE),y) 240 GENERIC_SOURCES += \ 241 generic/src/console/kconsole.c \ 242 generic/src/console/cmd.c 243 endif 244 245 ## Udebug interface sources 246 # 247 248 ifeq ($(CONFIG_UDEBUG),y) 249 GENERIC_SOURCES += \ 250 generic/src/ipc/kbox.c \ 251 generic/src/udebug/udebug.c \ 252 generic/src/udebug/udebug_ops.c \ 253 generic/src/udebug/udebug_ipc.c 254 endif 255 256 ## Test sources 257 # 258 259 ifeq ($(CONFIG_TEST),y) 260 CFLAGS += -Itest/ 261 GENERIC_SOURCES += \ 262 test/test.c \ 263 test/atomic/atomic1.c \ 264 test/btree/btree1.c \ 265 test/avltree/avltree1.c \ 266 test/fault/fault1.c \ 267 test/mm/falloc1.c \ 268 test/mm/falloc2.c \ 269 test/mm/mapping1.c \ 270 test/mm/slab1.c \ 271 test/mm/slab2.c \ 272 test/synch/rwlock1.c \ 273 test/synch/rwlock2.c \ 274 test/synch/rwlock3.c \ 275 test/synch/rwlock4.c \ 276 test/synch/rwlock5.c \ 277 test/synch/semaphore1.c \ 278 test/synch/semaphore2.c \ 279 test/print/print1.c \ 280 test/print/print2.c \ 281 test/print/print3.c \ 282 test/print/print4.c \ 283 test/thread/thread1.c \ 284 test/sysinfo/sysinfo1.c 285 286 ifeq ($(KARCH),mips32) 287 GENERIC_SOURCES += test/debug/mips1.c 288 else 289 GENERIC_SOURCES += test/debug/mips1_skip.c 290 endif 291 292 ifeq ($(KARCH),ia64) 293 GENERIC_SOURCES += test/mm/purge1.c 294 else 295 GENERIC_SOURCES += test/mm/purge1_skip.c 296 endif 297 298 ifeq ($(CONFIG_FPU),y) 299 ifeq ($(KARCH),ia32) 300 TEST_FPU1 = y 301 TEST_SSE1 = y 302 GENERIC_SOURCES += test/fpu/fpu1_x86.c 303 endif 304 305 ifeq ($(KARCH),amd64) 306 TEST_FPU1 = y 307 TEST_SSE1 = y 308 GENERIC_SOURCES += test/fpu/fpu1_x86.c 309 endif 310 311 ifeq ($(KARCH),ia64) 312 TEST_FPU1 = y 313 GENERIC_SOURCES += test/fpu/fpu1_ia64.c 314 endif 315 316 ifeq ($(KARCH),mips32) 317 TEST_MIPS2 = y 318 endif 319 endif 320 321 ifneq ($(TEST_FPU1),y) 322 GENERIC_SOURCES += test/fpu/fpu1_skip.c 323 endif 324 325 ifeq ($(TEST_SSE1),y) 326 GENERIC_SOURCES += test/fpu/sse1.c 327 else 328 GENERIC_SOURCES += test/fpu/sse1_skip.c 329 endif 330 331 ifeq ($(TEST_MIPS2),y) 332 GENERIC_SOURCES += test/fpu/mips2.c 333 else 334 GENERIC_SOURCES += test/fpu/mips2_skip.c 335 endif 336 337 endif 338 339 GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) 340 ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) 341 GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES))) 342 343 ifeq ($(CONFIG_SYMTAB),y) 344 SYMTAB_OBJECTS := generic/src/debug/real_map.o 345 else 346 SYMTAB_OBJECTS := 347 endif 348 349 350 351 $(BIN): $(RAW) 352 $(OBJCOPY) -O $(BFD) $< $@ 353 354 $(DISASM): $(RAW) 355 $(OBJDUMP) -d $< > $@ 356 357 $(RAW): $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(SYMTAB_OBJECTS) 358 $(LD) -T $(LINK) $(LFLAGS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS) -o $@ -Map $(MAP) 359 360 $(LINK): $(LINK).in $(DEPEND) 361 $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@ 362 363 %.o: %.S $(DEPEND) 364 $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@ 365 ifeq ($(PRECHECK),y) 366 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(GCC_CFLAGS) -D__ASM__ 367 endif 368 369 %.o: %.s $(DEPEND) 370 $(AS) $(AFLAGS) $< -o $@ 371 ifeq ($(PRECHECK),y) 372 $(JOBFILE) $(JOB) $< $@ as asm $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) 373 endif 374 375 # 376 # The FPU tests are the only objects for which we allow the compiler to generate 377 # FPU instructions. 378 # 379 380 test/fpu/%.o: test/fpu/%.c $(DEPEND) 381 $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) -c $< -o $@ 382 ifeq ($(PRECHECK),y) 383 $(JOBFILE) $(JOB) $< $@ cc test $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) 384 endif 385 386 # 387 # Ordinary objects. 388 # 389 390 %.o: %.c $(DEPEND) 391 $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) -c $< -o $@ 392 ifeq ($(PRECHECK),y) 393 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) 394 endif 395 396 $(REAL_MAP).o: $(REAL_MAP).bin 397 echo $(SYMTAB_SECTION)" .incbin \"$<\"" | $(AS) $(AFLAGS) -o $@ 398 399 $(REAL_MAP).bin: $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) 400 echo $(SYMTAB_SECTION) | $(AS) $(AFLAGS) -o $(EMPTY_MAP) 401 $(LD) -T $(LINK) $(LFLAGS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP) -o $@ -Map $(MAP_PREV) 402 $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP) 403 $(GENMAP) $(MAP_PREV) $(DUMP) $@ 404 405 # Do it once again, this time to get correct even the symbols 406 # on architectures that have bss after symtab 407 408 echo $(SYMTAB_SECTION)" .incbin \"$@\"" | $(AS) $(AFLAGS) -o $(SIZEOK_MAP) 409 $(LD) -T $(LINK) $(LFLAGS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP) -o $@ -Map $(MAP_PREV) 410 $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP) 411 $(GENMAP) $(MAP_PREV) $(DUMP) $@ 412 413 $(DEPEND): $(ARCH_INCLUDE) $(GENARCH_INCLUDE) $(COMMON_HEADER_ARCH) 414 makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(ARCH_SOURCES) $(GENARCH_SOURCES) $(GENERIC_SOURCES) > $@ 2> /dev/null 415 -[ -f $(DEPEND_PREV) ] && diff -q $(DEPEND_PREV) $@ && mv -f $(DEPEND_PREV) $@ 416 417 $(ARCH_INCLUDE): arch/$(KARCH)/include/ 418 ln -sfn ../../$< $@ 419 420 $(GENARCH_INCLUDE): genarch/include/ 421 ln -sfn ../../$< $@ 422 423 $(COMMON_HEADER_ARCH): $(COMMON_HEADER) 424 ln -sfn ../../../$< $@ -
kernel/arch/abs32le/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD = binary 33 30 34 31 ifeq ($(COMPILER),gcc_cross) 35 TOOLCHAIN_DIR = $(CROSS_PREFIX)/$(CROSS_TARGET)36 37 32 ifeq ($(CROSS_TARGET),arm32) 38 TARGET = arm-linux-gnu39 33 ATSIGN = % 40 34 endif 41 35 42 ifeq ($(CROSS_TARGET),ia32)43 TARGET = i686-pc-linux-gnu44 endif45 46 36 ifeq ($(CROSS_TARGET),mips32) 47 TARGET = mipsel-linux-gnu48 37 GCC_CFLAGS += -mno-abicalls 49 38 endif -
kernel/arch/amd64/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_NAME = elf64-x86-64 33 30 BFD_ARCH = i386:x86-64 34 31 BFD = binary 35 TARGET = amd64-linux-gnu36 32 CLANG_ARCH = x86_64 37 TOOLCHAIN_DIR = $(CROSS_PREFIX)/amd6438 33 39 34 FPU_NO_CFLAGS = -mno-sse -mno-sse2 -
kernel/arch/arm32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_NAME = elf32-littlearm 33 30 BFD_ARCH = arm 34 31 BFD = binary 35 TARGET = arm-linux-gnu36 TOOLCHAIN_DIR = $(CROSS_PREFIX)/arm3237 32 38 33 ATSIGN = % -
kernel/arch/arm32/src/dummy.S
r39e8406 rb535aeb 1 1 # 2 # Copyright (c) 2007 Michal Kebr y, Pavel Jancik, Petr Stepan2 # Copyright (c) 2007 Michal Kebrt, Pavel Jancik, Petr Stepan 3 3 # All rights reserved. 4 4 # -
kernel/arch/ia32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_NAME = elf32-i386 33 30 BFD_ARCH = i386 34 31 BFD = binary 35 TARGET = i686-pc-linux-gnu36 32 CLANG_ARCH = i386 37 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia3238 33 39 34 BITS = 32 … … 53 48 SUNCC_CFLAGS += -xarch=ssea 54 49 endif 50 55 51 ifeq ($(PROCESSOR),athlon_mp) 56 52 CMN2 = -march=athlon-mp 57 53 SUNCC_CFLAGS += xarch=ssea 58 54 endif 55 59 56 ifeq ($(PROCESSOR),pentium3) 60 57 CMN2 = -march=pentium3 61 58 SUNCC_CFLAGS += -xarch=sse 62 59 endif 60 63 61 ifeq ($(PROCESSOR),pentium4) 64 62 CMN2 = -march=pentium4 65 63 SUNCC_CFLAGS += -xarch=sse2 66 64 endif 65 67 66 ifeq ($(PROCESSOR),core) 68 67 CMN2 = -march=prescott -
kernel/arch/ia32/include/types.h
r39e8406 rb535aeb 27 27 */ 28 28 29 /** @addtogroup ia32 29 /** @addtogroup ia32 30 30 * @{ 31 31 */ … … 36 36 #define KERN_ia32_TYPES_H_ 37 37 38 typedef signed char int8_t; 39 typedef signed short int16_t; 40 typedef signed long int32_t; 41 typedef signed long long int64_t; 42 43 typedef unsigned char uint8_t; 44 typedef unsigned short uint16_t; 45 typedef unsigned long uint32_t; 46 typedef unsigned long long uint64_t; 38 #include <arch/common.h> 47 39 48 40 typedef uint32_t size_t; -
kernel/arch/ia64/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_NAME = elf64-little 33 30 BFD_ARCH = ia64-elf64 34 TARGET = ia64-pc-linux-gnu35 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia6436 31 37 32 CMN1 = -mconstant-gp -fno-unwind-tables -mfixed-range=f32-f127 -
kernel/arch/mips32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_ARCH = mips 33 30 BFD = binary 34 TARGET = mipsel-linux-gnu35 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips3236 37 31 GCC_CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 38 32 … … 48 42 ifeq ($(MACHINE),bgxemul) 49 43 BFD_NAME = elf32-tradbigmips 50 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32eb51 TARGET = mips-linux-gnu52 44 ENDIANESS = BE 53 45 GCC_CFLAGS += -D__BE__ -
kernel/arch/ppc32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_NAME = elf32-powerpc 33 30 BFD_ARCH = powerpc:common 34 31 BFD = binary 35 TARGET = ppc-linux-gnu36 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ppc3237 32 38 33 GCC_CFLAGS += -mcpu=powerpc -msoft-float -m32 -
kernel/arch/sparc64/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 29 BFD_NAME = elf64-sparc 33 30 BFD_ARCH = sparc 34 31 BFD = binary 35 TARGET = sparc64-linux-gnu36 TOOLCHAIN_DIR = $(CROSS_PREFIX)/sparc6437 32 38 33 GCC_CFLAGS += -m64 -mcpu=ultrasparc -
kernel/tools/genmap.py
r39e8406 rb535aeb 1 1 #!/usr/bin/env python 2 # 3 # Copyright (c) 2006 Ondrej Palkovsky 4 # All rights reserved. 5 # 6 # Redistribution and use in source and binary forms, with or without 7 # modification, are permitted provided that the following conditions 8 # are met: 9 # 10 # - Redistributions of source code must retain the above copyright 11 # notice, this list of conditions and the following disclaimer. 12 # - Redistributions in binary form must reproduce the above copyright 13 # notice, this list of conditions and the following disclaimer in the 14 # documentation and/or other materials provided with the distribution. 15 # - The name of the author may not be used to endorse or promote products 16 # derived from this software without specific prior written permission. 17 # 18 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 # 29 30 """ 31 Create binary symbol map out of linker map file 32 """ 2 33 3 34 import sys … … 5 36 import re 6 37 7 MAXSTRING=63 8 symtabfmt = "<Q%ds" % (MAXSTRING+1) 9 38 MAXSTRING = 63 39 symtabfmt = "<Q%ds" % (MAXSTRING + 1) 10 40 11 41 funcline = re.compile(r'([0-9a-f]+)\s+[lg]\s+.\s+\.text\s+([0-9a-f]+)\s+(.*)$') … … 13 43 dataline = re.compile(r'([0-9a-f]+)\s+[lg]\s+[a-zA-Z]\s+\.data\s+([0-9a-f]+)\s+(.*)$') 14 44 fileexp = re.compile(r'([^\s]+):\s+file format') 45 startfile = re.compile(r'\.(text|bss|data)\s+(0x[0-9a-f]+)\s+0x[0-9a-f]+\s+(.*)$') 46 15 47 def read_obdump(inp): 16 funcs = {} 17 data = {} 18 bss ={} 19 fname = '' 20 for line in inp: 21 line = line.strip() 22 res = funcline.match(line) 23 if res: 24 funcs.setdefault(fname,[]).append((int(res.group(1),16), 25 res.group(3))) 26 continue 27 res = bssline.match(line) 28 if res: 29 start = int(res.group(1),16) 30 end = int(res.group(2),16) 31 if end: 32 bss.setdefault(fname,[]).append((start,res.group(3))) 33 res = dataline.match(line) 34 if res: 35 start = int(res.group(1),16) 36 end = int(res.group(2),16) 37 if end: 38 data.setdefault(fname,[]).append((start,res.group(3))) 39 res = fileexp.match(line) 40 if res: 41 fname = res.group(1) 42 continue 48 "Parse input" 49 50 funcs = {} 51 data = {} 52 bss = {} 53 fname = '' 54 55 for line in inp: 56 line = line.strip() 57 res = funcline.match(line) 58 if (res): 59 funcs.setdefault(fname, []).append((int(res.group(1), 16), res.group(3))) 60 continue 61 62 res = bssline.match(line) 63 if (res): 64 start = int(res.group(1), 16) 65 end = int(res.group(2), 16) 66 if (end): 67 bss.setdefault(fname, []).append((start, res.group(3))) 68 69 res = dataline.match(line) 70 if (res): 71 start = int(res.group(1), 16) 72 end = int(res.group(2), 16) 73 if (end): 74 data.setdefault(fname, []).append((start, res.group(3))) 75 76 res = fileexp.match(line) 77 if (res): 78 fname = res.group(1) 79 continue 80 81 return {'text' : funcs, 'bss' : bss, 'data' : data} 43 82 44 return {45 'text' : funcs,46 'bss' : bss,47 'data' : data48 }49 50 startfile = re.compile(r'\.(text|bss|data)\s+(0x[0-9a-f]+)\s+0x[0-9a-f]+\s+(.*)$')51 83 def generate(kmapf, obmapf, out): 52 obdump = read_obdump(obmapf) 53 54 def sorter(x,y): 55 return cmp(x[0],y[0]) 56 57 for line in kmapf: 58 line = line.strip() 59 res = startfile.match(line) 60 61 if res and obdump[res.group(1)].has_key(res.group(3)): 62 offset = int(res.group(2),16) 63 fname = res.group(3) 64 symbols = obdump[res.group(1)][fname] 65 symbols.sort(sorter) 66 for addr,symbol in symbols: 67 value = fname + ':' + symbol 68 data = struct.pack(symtabfmt,addr+offset,value[:MAXSTRING]) 69 out.write(data) 70 71 out.write(struct.pack(symtabfmt,0,'')) 84 "Generate output file" 85 86 obdump = read_obdump(obmapf) 87 88 def sorter(x,y): 89 return cmp(x[0],y[0]) 90 91 for line in kmapf: 92 line = line.strip() 93 res = startfile.match(line) 94 95 if ((res) and (obdump[res.group(1)].has_key(res.group(3)))): 96 offset = int(res.group(2), 16) 97 fname = res.group(3) 98 symbols = obdump[res.group(1)][fname] 99 symbols.sort(sorter) 100 for addr, symbol in symbols: 101 value = fname + ':' + symbol 102 data = struct.pack(symtabfmt, addr + offset, value[:MAXSTRING]) 103 out.write(data) 104 105 out.write(struct.pack(symtabfmt, 0, '')) 72 106 73 107 def main(): 74 if len(sys.argv) != 4: 75 print "Usage: %s <kernel.map> <nm dump> <output.bin>" % sys.argv[0] 76 sys.exit(1) 77 78 kmapf = open(sys.argv[1],'r') 79 obmapf = open(sys.argv[2],'r') 80 out = open(sys.argv[3],'w') 81 generate(kmapf,obmapf,out) 82 kmapf.close() 83 obmapf.close() 84 out.close() 108 if (len(sys.argv) != 4): 109 print "Usage: %s <kernel.map> <nm dump> <output.bin>" % sys.argv[0] 110 return 1 111 112 kmapf = open(sys.argv[1], 'r') 113 obmapf = open(sys.argv[2], 'r') 114 out = open(sys.argv[3], 'w') 115 116 generate(kmapf, obmapf, out) 117 118 kmapf.close() 119 obmapf.close() 120 out.close() 85 121 86 122 if __name__ == '__main__': 87 main()123 sys.exit(main()) -
tools/config.py
r39e8406 rb535aeb 28 28 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 29 # 30 30 31 """ 31 32 HelenOS configuration system 32 33 """ 34 33 35 import sys 34 36 import os … … 41 43 MAKEFILE = 'Makefile.config' 42 44 MACROS = 'config.h' 43 DEFS = 'config.defs'44 45 PRECONF = 'defaults' 45 46 … … 223 224 return True 224 225 225 def create_output(mkname, mcname, d fname, defaults, ask_names):226 def create_output(mkname, mcname, defaults, ask_names): 226 227 "Create output configuration" 227 228 … … 229 230 230 231 sys.stderr.write("Fetching current revision identifier ... ") 231 version = subprocess.Popen(['bzr', 'version-info', '--custom', '--template={clean}:{revno}:{revision_id}'], stdout = subprocess.PIPE).communicate()[0].split(':') 232 sys.stderr.write("OK\n") 232 233 try: 234 version = subprocess.Popen(['bzr', 'version-info', '--custom', '--template={clean}:{revno}:{revision_id}'], stdout = subprocess.PIPE).communicate()[0].split(':') 235 sys.stderr.write("ok\n") 236 except: 237 version = [1, "unknown", "unknown"] 238 sys.stderr.write("failed\n") 233 239 234 240 if (len(version) == 3): … … 242 248 outmk = file(mkname, 'w') 243 249 outmc = file(mcname, 'w') 244 outdf = file(dfname, 'w')245 250 246 251 outmk.write('#########################################\n') … … 252 257 outmc.write(' ***************************************/\n\n') 253 258 254 outdf.write('#########################################\n') 255 outdf.write('## AUTO-GENERATED FILE, DO NOT EDIT!!! ##\n') 256 outdf.write('#########################################\n\n') 257 outdf.write('CONFIG_DEFS =') 259 defs = 'CONFIG_DEFS =' 258 260 259 261 for varname, vartype, name, choices, cond in ask_names: … … 273 275 if (default == "y"): 274 276 outmc.write('/* %s */\n#define %s\n\n' % (name, varname)) 275 outdf.write(' -D%s' % varname)277 defs += ' -D%s' % varname 276 278 else: 277 279 outmc.write('/* %s */\n#define %s %s\n#define %s_%s\n\n' % (name, varname, default, varname, default)) 278 outdf.write(' -D%s=%s -D%s_%s' % (varname, default, varname, default))280 defs += ' -D%s=%s -D%s_%s' % (varname, default, varname, default) 279 281 280 282 if (revision is not None): 281 283 outmk.write('REVISION = %s\n' % revision) 282 284 outmc.write('#define REVISION %s\n' % revision) 283 outdf.write(' "-DREVISION=%s"' % revision)285 defs += ' "-DREVISION=%s"' % revision 284 286 285 287 outmk.write('TIMESTAMP = %s\n' % timestamp) 286 288 outmc.write('#define TIMESTAMP %s\n' % timestamp) 287 outdf.write(' "-DTIMESTAMP=%s"\n' % timestamp) 289 defs += ' "-DTIMESTAMP=%s"\n' % timestamp 290 291 outmk.write(defs) 288 292 289 293 outmk.close() 290 294 outmc.close() 291 outdf.close()292 295 293 296 def sorted_dir(root): … … 348 351 if ((len(sys.argv) >= 3) and (sys.argv[2] == 'default')): 349 352 if (check_choices(defaults, ask_names)): 350 create_output(MAKEFILE, MACROS, DEFS,defaults, ask_names)353 create_output(MAKEFILE, MACROS, defaults, ask_names) 351 354 return 0 352 355 … … 466 469 xtui.screen_done(screen) 467 470 468 create_output(MAKEFILE, MACROS, DEFS,defaults, ask_names)471 create_output(MAKEFILE, MACROS, defaults, ask_names) 469 472 return 0 470 473 -
tools/jobfile.py
r39e8406 rb535aeb 27 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 # 29 29 30 """ 30 31 Add a source/object file pair to a checker jobfile -
tools/mkfat.py
r39e8406 rb535aeb 27 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 # 29 29 30 """ 30 31 FAT creator -
tools/mkhord.py
r39e8406 rb535aeb 27 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 # 29 29 30 """ 30 31 HORD encapsulator -
tools/mktmpfs.py
r39e8406 rb535aeb 27 27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 # 29 29 30 """ 30 31 TMPFS creator -
uspace/Makefile
r39e8406 rb535aeb 30 30 # 31 31 32 -include ../Makefile.common 32 33 -include ../Makefile.config 33 34 -
uspace/app/Makefile.common
r39e8406 rb535aeb 60 60 all: \ 61 61 $(LIBC_PREFIX)/../../../version \ 62 $(LIBC_PREFIX)/../../../Makefile.common \ 62 63 $(LIBC_PREFIX)/../../../Makefile.config \ 63 64 $(LIBC_PREFIX)/../../../config.h \ 64 $(LIBC_PREFIX)/../../../config.defs \65 65 $(LIBS) \ 66 66 \ -
uspace/lib/Makefile.common
r39e8406 rb535aeb 50 50 OBJECTS = $(addsuffix .o,$(basename $(SOURCES))) 51 51 52 -include $(USPACE_PREFIX)/../Makefile.common 52 53 -include $(USPACE_PREFIX)/../Makefile.config 53 54 include $(LIBC_PREFIX)/Makefile.toolchain … … 59 60 all: \ 60 61 $(LIBC_PREFIX)/../../../version \ 62 $(LIBC_PREFIX)/../../../Makefile.common \ 61 63 $(LIBC_PREFIX)/../../../Makefile.config \ 62 64 $(LIBC_PREFIX)/../../../config.h \ 63 $(LIBC_PREFIX)/../../../config.defs \64 65 $(LIBS) \ 65 66 \ -
uspace/lib/libc/Makefile
r39e8406 rb535aeb 28 28 # 29 29 30 -include ../../../Makefile.common 30 31 -include ../../../Makefile.config 31 32 -
uspace/lib/libc/Makefile.toolchain
r39e8406 rb535aeb 53 53 AFLAGS = 54 54 55 ## Cross-toolchain prefix56 #57 58 ifndef CROSS_PREFIX59 CROSS_PREFIX = /usr/local60 endif61 62 55 ## Setup platform configuration 63 56 # 64 57 58 -include $(LIBC_PREFIX)/../../../Makefile.common 65 59 -include $(LIBC_PREFIX)/../../../Makefile.config 66 -include $(LIBC_PREFIX)/../../../config.defs67 60 -include $(LIBC_PREFIX)/arch/$(UARCH)/Makefile.inc 68 61 69 ## Simple detection of the host system 70 # 71 HOST = $(shell uname) 72 73 ## On Solaris, some utilities have different names 74 # 75 ifeq ($(HOST),SunOS) 76 BINUTILS_PREFIX = "g" 77 else 78 BINUTILS_PREFIX = "" 79 endif 80 81 ## Toolchain configuration 62 ## Compilation options 82 63 # 83 64 … … 85 66 86 67 ifeq ($(COMPILER),gcc_cross) 87 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc88 GCC = $(CC)89 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as90 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld91 AR = $(TOOLCHAIN_DIR)/$(TARGET)-ar92 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy93 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump94 68 CFLAGS = $(GCC_CFLAGS) 95 69 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) … … 97 71 98 72 ifeq ($(COMPILER),gcc_native) 99 CC = gcc100 GCC = $(CC)101 AS = $(BINUTILS_PREFIX)as102 LD = $(BINUTILS_PREFIX)ld103 AR = $(BINUTILS_PREFIX)ar104 OBJCOPY = $(BINUTILS_PREFIX)objcopy105 OBJDUMP = $(BINUTILS_PREFIX)objdump106 73 CFLAGS = $(GCC_CFLAGS) 107 74 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) … … 109 76 110 77 ifeq ($(COMPILER),icc) 111 CC = icc112 GCC = gcc113 AS = as114 LD = ld115 AR = ar116 OBJCOPY = objcopy117 OBJDUMP = objdump118 78 CFLAGS = $(ICC_CFLAGS) 119 79 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) … … 121 81 122 82 ifeq ($(COMPILER),clang) 123 CC = clang124 GCC = gcc125 AS = $(BINUTILS_PREFIX)as126 LD = $(BINUTILS_PREFIX)ld127 AR = $(BINUTILS_PREFIX)ar128 OBJCOPY = $(BINUTILS_PREFIX)objcopy129 OBJDUMP = $(BINUTILS_PREFIX)objdump130 83 CFLAGS = $(CLANG_CFLAGS) 131 84 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) -
uspace/lib/libc/arch/abs32le/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 ifeq ($(COMPILER),gcc_cross)33 TOOLCHAIN_DIR = $(CROSS_PREFIX)/$(CROSS_TARGET)/bin34 35 ifeq ($(CROSS_TARGET),arm32)36 TARGET = arm-linux-gnu37 endif38 39 ifeq ($(CROSS_TARGET),ia32)40 TARGET = i686-pc-linux-gnu41 endif42 43 ifeq ($(CROSS_TARGET),mips32)44 TARGET = mipsel-linux-gnu45 endif46 endif47 48 29 ifeq ($(COMPILER),clang) 49 30 CLANG_ARCH = i386 -
uspace/lib/libc/arch/amd64/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = amd64-linux-gnu33 29 CLANG_ARCH = x86_64 34 TOOLCHAIN_DIR = $(CROSS_PREFIX)/amd64/bin35 30 36 31 ARCH_SOURCES = \ -
uspace/lib/libc/arch/arm32/Makefile.inc
r39e8406 rb535aeb 28 28 # 29 29 30 ## Toolchain configuration31 #32 33 TARGET = arm-linux-gnu34 TOOLCHAIN_DIR = $(CROSS_PREFIX)/arm32/bin35 36 30 ARCH_SOURCES = \ 37 31 arch/$(UARCH)/src/entry.s \ -
uspace/lib/libc/arch/ia32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = i686-pc-linux-gnu33 29 CLANG_ARCH = i386 34 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia32/bin35 30 36 31 ARCH_SOURCES = \ -
uspace/lib/libc/arch/ia64/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = ia64-pc-linux-gnu33 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia64/bin34 35 29 ARCH_SOURCES = \ 36 30 arch/$(UARCH)/src/entry.s \ -
uspace/lib/libc/arch/mips32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = mipsel-linux-gnu33 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32/bin34 35 29 ARCH_SOURCES = \ 36 30 arch/$(UARCH)/src/entry.s \ -
uspace/lib/libc/arch/mips32eb/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = mips-linux-gnu33 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32eb/bin34 35 29 ARCH_SOURCES = \ 36 30 arch/$(UARCH)/src/entry.s \ -
uspace/lib/libc/arch/ppc32/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = ppc-linux-gnu33 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ppc32/bin34 35 29 ARCH_SOURCES = \ 36 30 arch/$(UARCH)/src/entry.s \ -
uspace/lib/libc/arch/sparc64/Makefile.inc
r39e8406 rb535aeb 27 27 # 28 28 29 ## Toolchain configuration30 #31 32 TARGET = sparc64-linux-gnu33 TOOLCHAIN_DIR = $(CROSS_PREFIX)/sparc64/bin34 35 29 ARCH_SOURCES = \ 36 30 arch/$(UARCH)/src/entry.s \ -
uspace/srv/Makefile.common
r39e8406 rb535aeb 64 64 all: \ 65 65 $(LIBC_PREFIX)/../../../version \ 66 $(LIBC_PREFIX)/../../../Makefile.common \ 66 67 $(LIBC_PREFIX)/../../../Makefile.config \ 67 68 $(LIBC_PREFIX)/../../../config.h \ 68 $(LIBC_PREFIX)/../../../config.defs \69 69 $(LIBS) \ 70 70 \ … … 77 77 find . -name '*.o' -follow -exec rm \{\} \; 78 78 79 build: 79 build: 80 80 81 81 -include $(DEPEND) -
uspace/srv/hid/char_mouse/chardev.c
r39e8406 rb535aeb 48 48 static int dev_phone; 49 49 50 #define NAME " kbd"50 #define NAME "char_mouse" 51 51 52 52 int mouse_port_init(void) -
uspace/srv/hid/char_mouse/proto/ps2.c
r39e8406 rb535aeb 36 36 37 37 #include <stdio.h> 38 #include <mouse_port.h> 39 #include <char_mouse.h> 38 40 #include <mouse_proto.h> 39 #include <char_mouse.h>40 41 41 42 #define BUFSIZE 3 43 44 #define PS2_MOUSE_OUT_INIT 0xf4 45 #define PS2_MOUSE_ACK 0xfa 42 46 43 47 typedef struct { … … 67 71 int mouse_proto_init(void) 68 72 { 73 mouse_port_write(PS2_MOUSE_OUT_INIT); 69 74 return 0; 70 75 } -
uspace/srv/hid/console/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: $(LIBC_PREFIX)/../../../Makefile.co nfig $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs$(LIBS)34 all: $(LIBC_PREFIX)/../../../Makefile.common $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBS) 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
uspace/srv/hid/fb/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: $(LIBC_PREFIX)/../../../Makefile.co nfig $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs$(LIBS)34 all: $(LIBC_PREFIX)/../../../Makefile.common $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBS) 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
uspace/srv/hid/kbd/Makefile
r39e8406 rb535aeb 32 32 .PHONY: all clean 33 33 34 all: $(LIBC_PREFIX)/../../../Makefile.co nfig $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs$(LIBS)34 all: $(LIBC_PREFIX)/../../../Makefile.common $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBS) 35 35 -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV) 36 36 $(MAKE) -f Makefile.build PRECHECK=$(PRECHECK) -
uspace/srv/hw/char/i8042/i8042.c
r39e8406 rb535aeb 68 68 #define i8042_KBD_TRANSLATE 0x40 69 69 70 /* Mouse constants */71 #define MOUSE_OUT_INIT 0xf472 #define MOUSE_ACK 0xfa73 70 74 71 enum { … … 177 174 async_set_interrupt_received(i8042_irq_handler); 178 175 179 /* Disable kbd, enable mouse */ 176 /* Disable kbd and aux */ 177 wait_ready(); 180 178 pio_write_8(&i8042->status, i8042_CMD_WRITE_CMDB); 181 179 wait_ready(); 182 pio_write_8(&i8042->status, i8042_CMD_WRITE_CMDB); 183 wait_ready(); 184 pio_write_8(&i8042->data, i8042_KBD_DISABLE); 185 wait_ready(); 180 pio_write_8(&i8042->data, i8042_KBD_DISABLE | i8042_AUX_DISABLE); 186 181 187 182 /* Flush all current IO */ 188 183 while (pio_read_8(&i8042->status) & i8042_OUTPUT_FULL) 189 184 (void) pio_read_8(&i8042->data); 190 191 i8042_port_write(DEVID_AUX, MOUSE_OUT_INIT);192 185 193 186 i8042_kbd.cmds[0].addr = (void *) &((i8042_t *) i8042_kernel)->status; … … 195 188 ipc_register_irq(sysinfo_value("i8042.inr_a"), device_assign_devno(), 0, &i8042_kbd); 196 189 ipc_register_irq(sysinfo_value("i8042.inr_b"), device_assign_devno(), 0, &i8042_kbd); 197 190 printf("i8042: registered for interrupts %d and %d\n", 191 sysinfo_value("i8042.inr_a"), sysinfo_value("i8042.inr_b")); 192 193 wait_ready(); 198 194 pio_write_8(&i8042->status, i8042_CMD_WRITE_CMDB); 199 195 wait_ready(); 200 196 pio_write_8(&i8042->data, i8042_KBD_IE | i8042_KBD_TRANSLATE | 201 197 i8042_AUX_IE); 202 wait_ready();203 198 204 199 return 0; … … 271 266 { 272 267 if (devid == DEVID_AUX) { 268 wait_ready(); 273 269 pio_write_8(&i8042->status, i8042_CMD_WRITE_AUX); 274 wait_ready();275 }270 } 271 wait_ready(); 276 272 pio_write_8(&i8042->data, data); 277 wait_ready();278 273 } 279 274 -
uspace/srv/loader/Makefile
r39e8406 rb535aeb 28 28 # 29 29 30 -include ../../../Makefile.common 30 31 -include ../../../Makefile.config 31 32 -include arch/$(UARCH)/Makefile.inc -
uspace/srv/net/Makefile
r39e8406 rb535aeb 27 27 # 28 28 29 include ../../../Makefile.common 29 30 include ../../../Makefile.config 30 31 -
uspace/srv/net/app/echo/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include ../../../../../Makefile.common 34 35 include ../../../../../Makefile.config 35 36 -
uspace/srv/net/app/nettest1/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include ../../../../../Makefile.common 34 35 include ../../../../../Makefile.config 35 36 -
uspace/srv/net/app/nettest2/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include ../../../../../Makefile.common 34 35 include ../../../../../Makefile.config 35 36 -
uspace/srv/net/app/ping/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include ../../../../../Makefile.common 34 35 include ../../../../../Makefile.config 35 36 -
uspace/srv/net/il/ip/ip.c
r39e8406 rb535aeb 895 895 ip_pseudo_header_ref header; 896 896 size_t headerlen; 897 device_id_t device_id; 897 898 898 899 *answer_count = 0; … … 921 922 case NET_IP_GET_ROUTE: 922 923 ERROR_PROPAGATE(data_receive((void **) &addr, &addrlen)); 923 ERROR_PROPAGATE(ip_get_route_req(0, IP_GET_PROTOCOL(call), addr, (socklen_t) addrlen, IPC_SET_DEVICE(answer), &header, &headerlen)); 924 ERROR_PROPAGATE(ip_get_route_req(0, IP_GET_PROTOCOL(call), addr, (socklen_t) addrlen, 925 &device_id, &header, &headerlen)); 926 *IPC_SET_DEVICE(answer) = device_id; 924 927 *IP_SET_HEADERLEN(answer) = headerlen; 925 928 *answer_count = 2; -
uspace/srv/net/il/ip/ip_messages.h
r39e8406 rb535aeb 82 82 * @param[out] answer The message answer structure. 83 83 */ 84 #define IP_SET_HEADERLEN(answer) ( (size_t *)&IPC_GET_ARG2(*answer))84 #define IP_SET_HEADERLEN(answer) (&IPC_GET_ARG2(*answer)) 85 85 86 86 /** Returns the network mask message parameter. -
uspace/srv/net/messages.h
r39e8406 rb535aeb 391 391 * @param[out] answer The message answer structure. 392 392 */ 393 #define IPC_SET_DEVICE(answer) ( (device_id_t *)&IPC_GET_ARG1(*answer))393 #define IPC_SET_DEVICE(answer) (&IPC_GET_ARG1(*answer)) 394 394 395 395 /** Sets the minimum address length in the message answer. 396 396 * @param[out] answer The message answer structure. 397 397 */ 398 #define IPC_SET_ADDR(answer) ( (size_t *)&IPC_GET_ARG1(*answer))398 #define IPC_SET_ADDR(answer) (&IPC_GET_ARG1(*answer)) 399 399 400 400 /*@}*/ … … 407 407 * @param[out] answer The message answer structure. 408 408 */ 409 #define IPC_SET_PREFIX(answer) ( (size_t *)&IPC_GET_ARG2(*answer))409 #define IPC_SET_PREFIX(answer) (&IPC_GET_ARG2(*answer)) 410 410 411 411 /*@}*/ … … 418 418 * @param[out] answer The message answer structure. 419 419 */ 420 #define IPC_SET_CONTENT(answer) ( (size_t *)&IPC_GET_ARG3(*answer))420 #define IPC_SET_CONTENT(answer) (&IPC_GET_ARG3(*answer)) 421 421 422 422 /*@}*/ … … 429 429 * @param[out] answer The message answer structure. 430 430 */ 431 #define IPC_SET_SUFFIX(answer) ( (size_t *)&IPC_GET_ARG4(*answer))431 #define IPC_SET_SUFFIX(answer) (&IPC_GET_ARG4(*answer)) 432 432 433 433 /*@}*/ -
uspace/srv/net/net/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include $(NET_BASE)../../../Makefile.common 34 35 include $(NET_BASE)../../../Makefile.config 35 36 -
uspace/srv/net/net/start/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include ../../../../../Makefile.common 34 35 include ../../../../../Makefile.config 35 36 -
uspace/srv/net/netif/dp8390/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include $(NET_BASE)../../../Makefile.common 34 35 include $(NET_BASE)../../../Makefile.config 35 36 -
uspace/srv/net/netif/lo/Makefile
r39e8406 rb535aeb 32 32 STRUCTURES = $(NET_BASE)structures/ 33 33 34 include $(NET_BASE)../../../Makefile.common 34 35 include $(NET_BASE)../../../Makefile.config 35 36 -
uspace/srv/net/socket/socket_messages.h
r39e8406 rb535aeb 115 115 * @param[out] answer The message answer structure. 116 116 */ 117 #define SOCKET_SET_SOCKET_ID(answer) (int *)&IPC_GET_ARG1(answer)117 #define SOCKET_SET_SOCKET_ID(answer) &IPC_GET_ARG1(answer) 118 118 119 119 /** Returns the socket identifier message parameter. 120 120 * @param[in] call The message call structure. 121 121 */ 122 #define SOCKET_GET_SOCKET_ID(call) 122 #define SOCKET_GET_SOCKET_ID(call) (int) IPC_GET_ARG1(call) 123 123 124 124 /** Sets the read data length in the message answer. 125 125 * @param[out] answer The message answer structure. 126 126 */ 127 #define SOCKET_SET_READ_DATA_LENGTH(answer) (int *)&IPC_GET_ARG1(answer)127 #define SOCKET_SET_READ_DATA_LENGTH(answer) &IPC_GET_ARG1(answer) 128 128 129 129 /** Returns the read data length message parameter. 130 130 * @param[in] call The message call structure. 131 131 */ 132 #define SOCKET_GET_READ_DATA_LENGTH(call) 132 #define SOCKET_GET_READ_DATA_LENGTH(call) (int) IPC_GET_ARG1(call) 133 133 134 134 /** Returns the backlog message parameter. 135 135 * @param[in] call The message call structure. 136 136 */ 137 #define SOCKET_GET_BACKLOG(call) 137 #define SOCKET_GET_BACKLOG(call) (int) IPC_GET_ARG2(call) 138 138 139 139 /** Returns the option level message parameter. 140 140 * @param[in] call The message call structure. 141 141 */ 142 #define SOCKET_GET_OPT_LEVEL(call) 142 #define SOCKET_GET_OPT_LEVEL(call) (int) IPC_GET_ARG2(call) 143 143 144 144 /** Returns the data fragment size message parameter. … … 150 150 * @param[out] answer The message answer structure. 151 151 */ 152 #define SOCKET_SET_DATA_FRAGMENT_SIZE(answer) (size_t *)&IPC_GET_ARG2(answer)152 #define SOCKET_SET_DATA_FRAGMENT_SIZE(answer) &IPC_GET_ARG2(answer) 153 153 154 154 /** Sets the address length in the message answer. 155 155 * @param[out] answer The message answer structure. 156 156 */ 157 #define SOCKET_SET_ADDRESS_LENGTH(answer) (socklen_t *)&IPC_GET_ARG3(answer)157 #define SOCKET_SET_ADDRESS_LENGTH(answer) &IPC_GET_ARG3(answer) 158 158 159 159 /** Returns the address length message parameter. … … 165 165 * @param[out] answer The message answer structure. 166 166 */ 167 #define SOCKET_SET_HEADER_SIZE(answer) (int *)&IPC_GET_ARG3(answer)167 #define SOCKET_SET_HEADER_SIZE(answer) &IPC_GET_ARG3(answer) 168 168 169 169 /** Returns the header size message parameter. 170 170 * @param[in] call The message call structure. 171 171 */ 172 #define SOCKET_GET_HEADER_SIZE(call) (int) IPC_GET_ARG3(call)172 #define SOCKET_GET_HEADER_SIZE(call) (size_t) IPC_GET_ARG3(call) 173 173 174 174 /** Returns the flags message parameter. 175 175 * @param[in] call The message call structure. 176 176 */ 177 #define SOCKET_GET_FLAGS(call) 177 #define SOCKET_GET_FLAGS(call) (int) IPC_GET_ARG4(call) 178 178 179 179 /** Returns the option name message parameter. 180 180 * @param[in] call The message call structure. 181 181 */ 182 #define SOCKET_GET_OPT_NAME(call) 182 #define SOCKET_GET_OPT_NAME(call) (int) IPC_GET_ARG4(call) 183 183 184 184 /** Returns the data fragments message parameter. -
uspace/srv/net/tl/tcp/tcp.c
r39e8406 rb535aeb 1060 1060 int app_phone = IPC_GET_PHONE(&call); 1061 1061 struct sockaddr * addr; 1062 int socket_id; 1062 1063 size_t addrlen; 1063 1064 fibril_rwlock_t lock; … … 1104 1105 socket_data->local_sockets = &local_sockets; 1105 1106 fibril_rwlock_write_lock(&lock); 1106 *SOCKET_SET_SOCKET_ID(answer) = SOCKET_GET_SOCKET_ID(call); 1107 res = socket_create(&local_sockets, app_phone, socket_data, SOCKET_SET_SOCKET_ID(answer)); 1107 socket_id = SOCKET_GET_SOCKET_ID(call); 1108 res = socket_create(&local_sockets, app_phone, socket_data, &socket_id); 1109 *SOCKET_SET_SOCKET_ID(answer) = socket_id; 1108 1110 fibril_rwlock_write_unlock(&lock); 1109 1111 if(res == EOK){ -
uspace/srv/net/tl/udp/udp.c
r39e8406 rb535aeb 417 417 int app_phone = IPC_GET_PHONE(&call); 418 418 struct sockaddr * addr; 419 int socket_id; 419 420 size_t addrlen; 420 421 ipc_call_t answer; … … 451 452 break; 452 453 case NET_SOCKET: 453 *SOCKET_SET_SOCKET_ID(answer) = SOCKET_GET_SOCKET_ID(call); 454 res = socket_create(&local_sockets, app_phone, NULL, SOCKET_SET_SOCKET_ID(answer)); 454 socket_id = SOCKET_GET_SOCKET_ID(call); 455 res = socket_create(&local_sockets, app_phone, NULL, &socket_id); 456 *SOCKET_SET_SOCKET_ID(answer) = socket_id; 457 455 458 if(res == EOK){ 456 459 if(tl_get_ip_packet_dimension(udp_globals.ip_phone, &udp_globals.dimensions, DEVICE_INVALID_ID, &packet_dimension) == EOK){
Note:
See TracChangeset
for help on using the changeset viewer.