]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: olh@suse.de |
2 | Subject: kbuild part | |
3 | Patch-mainline: never | |
4 | ||
5 | drivers/macintosh/Kconfig | 6 ++++ | |
6 | drivers/macintosh/Makefile | 2 + | |
7 | drivers/macintosh/mol/Makefile | 60 +++++++++++++++++++++++++++++++++++++++++ | |
8 | 3 files changed, 68 insertions(+) | |
9 | ||
10 | --- a/drivers/macintosh/Kconfig | |
11 | +++ b/drivers/macintosh/Kconfig | |
12 | @@ -253,4 +253,10 @@ config PMAC_RACKMETER | |
13 | This driver provides some support to control the front panel | |
14 | blue LEDs "vu-meter" of the XServer macs. | |
15 | ||
16 | +config MACONLINUX | |
17 | + tristate "Mac on Linux kernel module" | |
18 | + depends on PPC32 && PPC_PMAC && MODULES && NET | |
19 | + help | |
20 | + call helpdesk | |
21 | + | |
22 | endif # MACINTOSH_DRIVERS | |
23 | --- a/drivers/macintosh/Makefile | |
24 | +++ b/drivers/macintosh/Makefile | |
25 | @@ -4,6 +4,8 @@ | |
26 | ||
27 | # Each configuration option enables a list of files. | |
28 | ||
29 | +obj-$(CONFIG_MACONLINUX) += mol/ | |
30 | + | |
31 | obj-$(CONFIG_PPC_PMAC) += macio_asic.o macio_sysfs.o | |
32 | ||
33 | obj-$(CONFIG_PMAC_MEDIABAY) += mediabay.o | |
34 | --- /dev/null | |
35 | +++ b/drivers/macintosh/mol/Makefile | |
36 | @@ -0,0 +1,60 @@ | |
37 | + | |
38 | +MOL_OBJS = \ | |
39 | + _fault.o \ | |
40 | + _dev.o \ | |
41 | + _misc.o \ | |
42 | + _mmu.o \ | |
43 | + _hostirq.o \ | |
44 | + init.o \ | |
45 | + hash.o \ | |
46 | + emu.o \ | |
47 | + mmu.o \ | |
48 | + mmu_fb.o \ | |
49 | + mmu_io.o \ | |
50 | + mmu_tracker.o \ | |
51 | + skiplist.o \ | |
52 | + mtable.o \ | |
53 | + fault.o \ | |
54 | + context.o \ | |
55 | + ptaccess.o \ | |
56 | + misc.o \ | |
57 | + _traps.o \ | |
58 | + actions.o | |
59 | + | |
60 | + | |
61 | +mol-objs := $(MOL_OBJS) | |
62 | +obj-m := mol.o sheep.o | |
63 | + | |
64 | +MOL_SRC_INCLUDE_DIR := $(srctree)/$(src)/include | |
65 | +MOL_OBJ_INCLUDE_DIR := $(obj)/include | |
66 | +MOL_ASMFLAGS := $(ASMFLAGS) $(INCLUDES) -D__ASSEMBLY__ -D__KERNEL__ | |
67 | +EXTRA_CFLAGS := -I$(MOL_SRC_INCLUDE_DIR) -I$(MOL_OBJ_INCLUDE_DIR) | |
68 | + | |
69 | +$(obj)/asm_offsets.c: $(srctree)/$(src)/asm_offsets.c $(MOL_OBJ_INCLUDE_DIR)/asm_offsets.h | |
70 | + rm -f $@ | |
71 | + cat $(srctree)/$(src)/asm_offsets.c $(MOL_OBJ_INCLUDE_DIR)/asm_offsets.h > $@ | |
72 | + | |
73 | +$(obj)/_traps.o: $(MOL_OBJ_INCLUDE_DIR)/asm_offsets.h $(srctree)/$(src)/asm-files/*.S | |
74 | + | |
75 | +$(obj)/_%.o: $(src)/asm-files/%.S | |
76 | + echo " AS [x] $@" | |
77 | + rm -f $@ $@.s | |
78 | + $(CPP) $(LINUXINCLUDE) -I$(MOL_SRC_INCLUDE_DIR) -I$(MOL_OBJ_INCLUDE_DIR) $(MOL_ASMFLAGS) $< | m4 > $@.m4 | |
79 | + cat $@.m4 > $@.s | |
80 | + $(AS) $@.s $(AS_FLAGS) -o $@ | |
81 | + rm -f $@.s $@.m4 | |
82 | + | |
83 | +$(addprefix $(obj)/,$(MOL_OBJS)): $(obj)/%.o: $(MOL_OBJ_INCLUDE_DIR)/kconfig.h | |
84 | +$(MOL_OBJ_INCLUDE_DIR)/kconfig.h: | |
85 | + mkdir -vp $(MOL_OBJ_INCLUDE_DIR) | |
86 | + rm -fv $@ | |
87 | + echo "/* nothing */" > $@ | |
88 | + | |
89 | +$(MOL_OBJ_INCLUDE_DIR)/asm_offsets.h: $(MOL_SRC_INCLUDE_DIR)/archinclude.h $(MOL_SRC_INCLUDE_DIR)/kernel_vars.h $(MOL_SRC_INCLUDE_DIR)/mac_registers.h $(MOL_OBJ_INCLUDE_DIR)/kconfig.h | |
90 | +$(MOL_OBJ_INCLUDE_DIR)/asm_offsets.h: $(srctree)/$(src)/asm_offsets.c $(MOL_SRC_INCLUDE_DIR)/asm_offsets.inc | |
91 | + rm -fv $(obj)/tmp-offsets.c $@ ; cat $^ > $(obj)/tmp-offsets.c | |
92 | + $(CC) -D__KERNEL__ $(CFLAGS) $(LINUXINCLUDE) -I$(MOL_SRC_INCLUDE_DIR) -I$(MOL_OBJ_INCLUDE_DIR) -Wall -S $(obj)/tmp-offsets.c | |
93 | + echo "/* WARNING! Automatically generated from 'shared/asm_offsets.c' - DO NOT EDIT! */" > $@ | |
94 | + grep '^#' tmp-offsets.s >> $@ | |
95 | + rm -fv $(obj)/tmp-offsets.* | |
96 | + |