1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# i386 Mach makefile fragment
# Copyright 1997, 1999 Free Software Foundation, Inc.
#
# Permission to use, copy, modify and distribute this software and its
# documentation is hereby granted, provided that both the copyright
# notice and this permission notice appear in all copies of the
# software, derivative works or modified versions, and any portions
# thereof, and that both notices appear in supporting documentation.
#
# THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS
# "AS IS" CONDITION. THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY
# LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE
# USE OF THIS SOFTWARE.
# Some of the i386-specific code checks for these.
DEFINES += -DCONTINUATIONS -D__ELF__ -Di386 -DLINUX_DEV
# Source files for any i386 kernel
i386at-files = autoconf.c blit.c conf.c cons_conf.c fd.c rtc.c \
i386at_ds_routines.c immc.c int_init.c iopl.c kd.c kd_event.c \
kd_mouse.c kd_queue.c model_dep.c phys_mem_grab_page.c pic_isa.c
i386-files = ast_check.c db_disasm.c db_interface.c db_trace.c debug_i386.c \
fpe_linkage.c fpu.c gdt.c hardclock.c idt.c io_emulate.c io_map.c \
iopb.c ktss.c kttd_interface.c ldt.c loose_ends.c mp_desc.c pcb.c \
phys.c pic.c pit.c seg.c trap.c user_ldt.c
intel-files = pmap.c read_fault.c
# Assembler source
i386at-Sfiles = boothdr.S interrupt.S kdasm.S
i386-Sfiles = cswitch.S debug_trace.S idt_inittab.S locore.S spl.S
# Account for them in the image
objfiles += $(subst .c,.o,$(i386at-files) $(i386-files) $(intel-files)) \
$(subst .S,.o,$(i386at-Sfiles) $(i386-Sfiles))
vpath %.c $(sysdep)/i386at $(sysdep)/i386 $(sysdep)/intel
vpath %.S $(sysdep)/i386at $(sysdep)/i386
# Files from the generic source that we want
objfiles += busses.o cirbuf.o
vpath busses.c $(srcdir)/chips
# FPE emulation
objfiles += fpe.o
# Mig-generated
objfiles += mach_i386_server.o
# This file is only needed for KDB support.
ifeq ($(enable_kdb),yes)
objfiles += _setjmp.o
endif
# XXX: In i386, com is always enabled.
objfiles += com.o
# This file is only needed for LPR support.
ifeq ($(findstring -DMACH_LPR,@DEFS@),-DMACH_LPR)
objfiles += lpr.o
endif
# Where to find some things
vpath i386asm.sym $(sysdep)/i386
vpath mach_i386.srv $(sysdep)/i386
# Make sure boothdr.o is at the very front
objfiles := boothdr.o $(filter-out boothdr.o,$(objfiles))
# Our include files are here; make sure they PRECEDE the generic ones.
INCLUDES := -I$(sysdep)/i386at -I$(sysdep)/i386 \
-I$(sysdep)/include -I$(sysdep)/include/mach/sa \
-I$(sysdep)/bogus -I$(sysdep) \
$(INCLUDES)
# arrange suitable load address
LDFLAGS += -Ttext 100000
# Assemble .S files correctly
ASFLAGS += -DASSEMBLER
boothdr.o: i386asm.h
# Header files we install
# We have our own version of this file
installed-headers := $(filter-out mach/proc_ops.h,$(installed-headers))
i386-installed-headers= mach/proc_ops.h \
$(addprefix mach/i386/,asm.h bios.h boolean.h code16.h \
debug_reg.h disk.h dpmi.h eflags.h exception.h far_ptr.h \
fp_reg.h ioccom.h kern_return.h mach_i386.defs \
mach_i386_types.h machine_types.defs multiboot.h paging.h \
pio.h pmode.h proc_reg.h rpc.h seg.h syscall_sw.h \
thread_status.h time_stamp.h trap.h tss.h vcpi.h vm_param.h \
vm_types.h)
# Cheat, cheat, cheat.
fpe.o: fpe.b_elf
uudecode $<
vpath fpe.b_elf $(sysdep)/i386
fpe.d:; touch $@
|