Rev 5271 | Rev 6938 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5271 | Rev 6104 | ||
---|---|---|---|
1 | CC = gcc |
1 | CC = gcc |
2 | LD = ld |
2 | LD = ld |
3 | AS = as |
3 | AS = as |
4 | FASM = fasm.exe |
4 | FASM = fasm.exe |
5 | 5 | ||
6 | DEFINES = -D__KERNEL__ -DCONFIG_X86_32 -DCONFIG_TINY_RCU -DCONFIG_X86_L1_CACHE_SHIFT=6 |
6 | DEFINES = -D__KERNEL__ -DCONFIG_X86_32 -DCONFIG_X86_CMPXCHG64 -DCONFIG_TINY_RCU |
- | 7 | DEFINES += -DCONFIG_X86_L1_CACHE_SHIFT=6 |
|
7 | DEFINES += -DCONFIG_ARCH_HAS_CACHE_LINE_SIZE |
8 | DEFINES += -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DMI -DCONFIG_ARCH_HAS_CACHE_LINE_SIZE |
8 | 9 | ||
9 | DRV_TOPDIR = $(CURDIR)/../../.. |
10 | DRV_TOPDIR = $(CURDIR)/../../.. |
10 | DRM_TOPDIR = $(CURDIR)/.. |
11 | DRM_TOPDIR = $(CURDIR)/.. |
11 | 12 | ||
12 | DRV_INCLUDES = $(DRV_TOPDIR)/include |
13 | DRV_INCLUDES = $(DRV_TOPDIR)/include |
13 | 14 | ||
14 | INCLUDES = -I$(DRV_INCLUDES) \ |
15 | INCLUDES = -I$(DRV_INCLUDES) \ |
15 | -I$(DRV_INCLUDES)/asm \ |
16 | -I$(DRV_INCLUDES)/asm \ |
16 | -I$(DRV_INCLUDES)/uapi \ |
17 | -I$(DRV_INCLUDES)/uapi \ |
17 | -I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES) |
18 | -I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES) |
18 | 19 | ||
19 | CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -fomit-frame-pointer -fno-builtin-printf |
20 | CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -fomit-frame-pointer -fno-builtin-printf |
20 | CFLAGS+= -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields |
21 | CFLAGS+= -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields |
21 | 22 | ||
22 | LIBPATH:= $(DRV_TOPDIR)/ddk |
23 | LIBPATH:= $(DRV_TOPDIR)/ddk |
23 | 24 | ||
24 | LIBS:= -lddk -lcore -lgcc |
25 | LIBS:= -lddk -lcore -lgcc |
25 | 26 | ||
26 | LDFLAGS = -nostdlib -shared -s -Map atikms.map --image-base 0\ |
27 | LDFLAGS = -nostdlib -shared -s -Map atikms.map --image-base 0\ |
27 | --file-alignment 512 --section-alignment 4096 |
28 | --file-alignment 512 --section-alignment 4096 |
28 | 29 | ||
29 | 30 | ||
30 | NAME:= atikms |
31 | NAME:= atikms |
31 | 32 | ||
32 | HFILES:= $(DRV_INCLUDES)/linux/types.h \ |
33 | HFILES:= $(DRV_INCLUDES)/linux/types.h \ |
33 | $(DRV_INCLUDES)/linux/list.h \ |
34 | $(DRV_INCLUDES)/linux/list.h \ |
34 | $(DRV_INCLUDES)/linux/pci.h \ |
35 | $(DRV_INCLUDES)/linux/pci.h \ |
35 | $(DRV_INCLUDES)/drm/drmP.h \ |
36 | $(DRV_INCLUDES)/drm/drmP.h \ |
36 | $(DRV_INCLUDES)/drm/drm_edid.h \ |
37 | $(DRV_INCLUDES)/drm/drm_edid.h \ |
37 | $(DRV_INCLUDES)/drm/drm_crtc.h \ |
38 | $(DRV_INCLUDES)/drm/drm_crtc.h \ |
38 | $(DRV_INCLUDES)/drm/drm_mm.h \ |
39 | $(DRV_INCLUDES)/drm/drm_mm.h \ |
39 | atom.h \ |
40 | atom.h \ |
40 | radeon.h \ |
41 | radeon.h \ |
41 | radeon_asic.h |
42 | radeon_asic.h |
42 | 43 | ||
43 | NAME_SRC= \ |
44 | NAME_SRC= \ |
44 | main.c \ |
45 | main.c \ |
45 | pci.c \ |
46 | pci.c \ |
46 | ../ttm/ttm_bo.c \ |
47 | ../ttm/ttm_bo.c \ |
47 | ../ttm/ttm_bo_manager.c \ |
48 | ../ttm/ttm_bo_manager.c \ |
48 | ../ttm/ttm_bo_util.c \ |
49 | ../ttm/ttm_bo_util.c \ |
49 | ../ttm/ttm_execbuf_util.c \ |
50 | ../ttm/ttm_execbuf_util.c \ |
50 | ../ttm/ttm_memory.c \ |
51 | ../ttm/ttm_memory.c \ |
51 | ../ttm/ttm_page_alloc.c \ |
52 | ../ttm/ttm_page_alloc.c \ |
52 | ../ttm/ttm_tt.c \ |
53 | ../ttm/ttm_tt.c \ |
- | 54 | $(DRM_TOPDIR)/drm_atomic.c \ |
|
- | 55 | $(DRM_TOPDIR)/drm_atomic_helper.c \ |
|
- | 56 | $(DRM_TOPDIR)/drm_bridge.c \ |
|
53 | $(DRM_TOPDIR)/drm_cache.c \ |
57 | $(DRM_TOPDIR)/drm_cache.c \ |
54 | $(DRM_TOPDIR)/drm_crtc.c \ |
58 | $(DRM_TOPDIR)/drm_crtc.c \ |
55 | $(DRM_TOPDIR)/drm_crtc_helper.c \ |
59 | $(DRM_TOPDIR)/drm_crtc_helper.c \ |
56 | $(DRM_TOPDIR)/drm_dp_helper.c \ |
60 | $(DRM_TOPDIR)/drm_dp_helper.c \ |
- | 61 | $(DRM_TOPDIR)/drm_dp_mst_topology.c \ |
|
57 | $(DRM_TOPDIR)/drm_drv.c \ |
62 | $(DRM_TOPDIR)/drm_drv.c \ |
58 | $(DRM_TOPDIR)/drm_atomic.c \ |
- | |
59 | $(DRM_TOPDIR)/drm_edid.c \ |
63 | $(DRM_TOPDIR)/drm_edid.c \ |
60 | $(DRM_TOPDIR)/drm_fb_helper.c \ |
64 | $(DRM_TOPDIR)/drm_fb_helper.c \ |
61 | $(DRM_TOPDIR)/drm_gem.c \ |
65 | $(DRM_TOPDIR)/drm_gem.c \ |
62 | $(DRM_TOPDIR)/drm_global.c \ |
66 | $(DRM_TOPDIR)/drm_global.c \ |
63 | $(DRM_TOPDIR)/drm_irq.c \ |
67 | $(DRM_TOPDIR)/drm_irq.c \ |
64 | $(DRM_TOPDIR)/drm_mm.c \ |
68 | $(DRM_TOPDIR)/drm_mm.c \ |
65 | $(DRM_TOPDIR)/drm_modes.c \ |
69 | $(DRM_TOPDIR)/drm_modes.c \ |
66 | $(DRM_TOPDIR)/drm_modeset_lock.c \ |
70 | $(DRM_TOPDIR)/drm_modeset_lock.c \ |
67 | $(DRM_TOPDIR)/drm_pci.c \ |
71 | $(DRM_TOPDIR)/drm_pci.c \ |
68 | $(DRM_TOPDIR)/drm_plane_helper.c \ |
72 | $(DRM_TOPDIR)/drm_plane_helper.c \ |
69 | $(DRM_TOPDIR)/drm_probe_helper.c \ |
73 | $(DRM_TOPDIR)/drm_probe_helper.c \ |
70 | $(DRM_TOPDIR)/drm_rect.c \ |
74 | $(DRM_TOPDIR)/drm_rect.c \ |
71 | $(DRM_TOPDIR)/drm_stub.c \ |
75 | $(DRM_TOPDIR)/drm_stub.c \ |
72 | $(DRM_TOPDIR)/drm_vma_manager.c \ |
76 | $(DRM_TOPDIR)/drm_vma_manager.c \ |
73 | $(DRM_TOPDIR)/i2c/i2c-core.c \ |
77 | $(DRM_TOPDIR)/i2c/i2c-core.c \ |
74 | $(DRM_TOPDIR)/i2c/i2c-algo-bit.c \ |
78 | $(DRM_TOPDIR)/i2c/i2c-algo-bit.c \ |
75 | hmm.c \ |
79 | hmm.c \ |
76 | radeon_device.c \ |
80 | radeon_device.c \ |
77 | atom.c \ |
81 | atom.c \ |
78 | atombios_crtc.c \ |
82 | atombios_crtc.c \ |
79 | atombios_dp.c \ |
83 | atombios_dp.c \ |
80 | atombios_encoders.c \ |
84 | atombios_encoders.c \ |
81 | atombios_i2c.c \ |
85 | atombios_i2c.c \ |
82 | btc_dpm.c \ |
86 | btc_dpm.c \ |
83 | cayman_blit_shaders.c \ |
87 | cayman_blit_shaders.c \ |
84 | ci_dpm.c \ |
88 | ci_dpm.c \ |
85 | ci_smc.c \ |
89 | ci_smc.c \ |
86 | cik.c \ |
90 | cik.c \ |
87 | cik_blit_shaders.c \ |
91 | cik_blit_shaders.c \ |
88 | cik_sdma.c \ |
92 | cik_sdma.c \ |
89 | cypress_dpm.c \ |
93 | cypress_dpm.c \ |
90 | dce3_1_afmt.c \ |
94 | dce3_1_afmt.c \ |
91 | dce6_afmt.c \ |
95 | dce6_afmt.c \ |
92 | evergreen.c \ |
96 | evergreen.c \ |
93 | evergreen_blit_shaders.c \ |
97 | evergreen_blit_shaders.c \ |
94 | evergreen_cs.c \ |
98 | evergreen_cs.c \ |
95 | evergreen_dma.c \ |
99 | evergreen_dma.c \ |
96 | evergreen_hdmi.c \ |
100 | evergreen_hdmi.c \ |
97 | kv_dpm.c \ |
101 | kv_dpm.c \ |
98 | kv_smc.c \ |
102 | kv_smc.c \ |
99 | ni.c \ |
103 | ni.c \ |
100 | ni_dma.c \ |
104 | ni_dma.c \ |
101 | ni_dpm.c \ |
105 | ni_dpm.c \ |
102 | radeon_agp.c \ |
106 | radeon_agp.c \ |
103 | radeon_asic.c \ |
107 | radeon_asic.c \ |
104 | radeon_atombios.c \ |
108 | radeon_atombios.c \ |
- | 109 | radeon_audio.c \ |
|
105 | radeon_benchmark.c \ |
110 | radeon_benchmark.c \ |
106 | radeon_bios.c \ |
111 | radeon_bios.c \ |
107 | radeon_combios.c \ |
112 | radeon_combios.c \ |
108 | radeon_connectors.c \ |
113 | radeon_connectors.c \ |
109 | radeon_cs.c \ |
114 | radeon_cs.c \ |
110 | radeon_clocks.c \ |
115 | radeon_clocks.c \ |
111 | radeon_display.c \ |
116 | radeon_display.c \ |
- | 117 | radeon_dp_auxch.c \ |
|
- | 118 | radeon_dp_mst.c \ |
|
112 | radeon_encoders.c \ |
119 | radeon_encoders.c \ |
113 | radeon_fence.c \ |
120 | radeon_fence.c \ |
114 | radeon_fb.c \ |
121 | radeon_fb.c \ |
115 | radeon_gart.c \ |
122 | radeon_gart.c \ |
116 | radeon_gem.c \ |
123 | radeon_gem.c \ |
117 | radeon_i2c.c \ |
124 | radeon_i2c.c \ |
118 | radeon_ib.c \ |
125 | radeon_ib.c \ |
119 | radeon_irq_kms.c \ |
126 | radeon_irq_kms.c \ |
- | 127 | radeon_kms.c \ |
|
120 | radeon_legacy_crtc.c \ |
128 | radeon_legacy_crtc.c \ |
121 | radeon_legacy_encoders.c \ |
129 | radeon_legacy_encoders.c \ |
122 | radeon_legacy_tv.c \ |
130 | radeon_legacy_tv.c \ |
123 | radeon_object.c \ |
131 | radeon_object.c \ |
124 | radeon_pm.c \ |
132 | radeon_pm.c \ |
125 | radeon_ring.c \ |
133 | radeon_ring.c \ |
126 | radeon_sa.c \ |
134 | radeon_sa.c \ |
127 | radeon_semaphore.c \ |
135 | radeon_semaphore.c \ |
128 | radeon_sync.c \ |
136 | radeon_sync.c \ |
129 | radeon_test.c \ |
137 | radeon_test.c \ |
130 | radeon_ttm.c \ |
138 | radeon_ttm.c \ |
131 | radeon_ucode.c \ |
139 | radeon_ucode.c \ |
132 | radeon_uvd.c \ |
140 | radeon_uvd.c \ |
133 | radeon_vce.c \ |
141 | radeon_vce.c \ |
134 | radeon_vm.c \ |
142 | radeon_vm.c \ |
135 | rdisplay_kms.c \ |
143 | rdisplay_kms.c \ |
136 | r100.c \ |
144 | r100.c \ |
137 | r200.c \ |
145 | r200.c \ |
138 | r300.c \ |
146 | r300.c \ |
139 | r420.c \ |
147 | r420.c \ |
140 | rv515.c \ |
148 | rv515.c \ |
141 | rv730_dpm.c \ |
149 | rv730_dpm.c \ |
142 | rv740_dpm.c \ |
150 | rv740_dpm.c \ |
143 | r520.c \ |
151 | r520.c \ |
144 | r600.c \ |
152 | r600.c \ |
145 | r600_blit_shaders.c \ |
153 | r600_blit_shaders.c \ |
146 | r600_cs.c \ |
154 | r600_cs.c \ |
147 | r600_dma.c \ |
155 | r600_dma.c \ |
148 | r600_dpm.c \ |
156 | r600_dpm.c \ |
149 | r600_hdmi.c \ |
157 | r600_hdmi.c \ |
150 | rs400.c \ |
158 | rs400.c \ |
151 | rs600.c \ |
159 | rs600.c \ |
152 | rs690.c \ |
160 | rs690.c \ |
153 | rv6xx_dpm.c \ |
161 | rv6xx_dpm.c \ |
154 | rs780_dpm.c \ |
162 | rs780_dpm.c \ |
155 | rv770.c \ |
163 | rv770.c \ |
156 | rv770_dma.c \ |
164 | rv770_dma.c \ |
157 | rv770_dpm.c \ |
165 | rv770_dpm.c \ |
158 | rv770_smc.c \ |
166 | rv770_smc.c \ |
159 | rdisplay.c \ |
167 | rdisplay.c \ |
160 | cmdline.c \ |
168 | cmdline.c \ |
161 | si.c \ |
169 | si.c \ |
162 | si_blit_shaders.c \ |
170 | si_blit_shaders.c \ |
163 | si_dma.c \ |
171 | si_dma.c \ |
164 | si_dpm.c \ |
172 | si_dpm.c \ |
165 | si_smc.c \ |
173 | si_smc.c \ |
166 | sumo_dpm.c \ |
174 | sumo_dpm.c \ |
167 | sumo_smc.c \ |
175 | sumo_smc.c \ |
168 | trinity_dpm.c \ |
176 | trinity_dpm.c \ |
169 | trinity_smc.c \ |
177 | trinity_smc.c \ |
170 | utils.c \ |
178 | utils.c \ |
171 | uvd_v1_0.c \ |
179 | uvd_v1_0.c \ |
172 | uvd_v2_2.c \ |
180 | uvd_v2_2.c \ |
173 | uvd_v3_1.c \ |
181 | uvd_v3_1.c \ |
174 | uvd_v4_2.c \ |
182 | uvd_v4_2.c \ |
175 | vce_v1_0.c \ |
183 | vce_v1_0.c \ |
176 | vce_v2_0.c \ |
184 | vce_v2_0.c \ |
177 | fwblob.asm |
185 | fwblob.asm |
178 | 186 | ||
179 | FW_BINS= \ |
187 | FW_BINS= \ |
180 | firmware/R100_cp.bin \ |
188 | firmware/R100_cp.bin \ |
181 | firmware/R200_cp.bin \ |
189 | firmware/R200_cp.bin \ |
182 | firmware/R300_cp.bin \ |
190 | firmware/R300_cp.bin \ |
183 | firmware/R420_cp.bin \ |
191 | firmware/R420_cp.bin \ |
184 | firmware/R520_cp.bin \ |
192 | firmware/R520_cp.bin \ |
185 | \ |
193 | \ |
186 | firmware/RS690_cp.bin \ |
194 | firmware/RS690_cp.bin \ |
187 | firmware/RS600_cp.bin \ |
195 | firmware/RS600_cp.bin \ |
188 | firmware/RS780_me.bin \ |
196 | firmware/RS780_me.bin \ |
189 | firmware/RS780_pfp.bin \ |
197 | firmware/RS780_pfp.bin \ |
190 | \ |
198 | \ |
191 | firmware/RV610_me.bin \ |
199 | firmware/RV610_me.bin \ |
192 | firmware/RV620_me.bin \ |
200 | firmware/RV620_me.bin \ |
193 | firmware/RV630_me.bin \ |
201 | firmware/RV630_me.bin \ |
194 | firmware/RV635_me.bin \ |
202 | firmware/RV635_me.bin \ |
195 | firmware/RV670_me.bin \ |
203 | firmware/RV670_me.bin \ |
196 | firmware/RV710_me.bin \ |
204 | firmware/RV710_me.bin \ |
197 | firmware/RV730_me.bin \ |
205 | firmware/RV730_me.bin \ |
198 | firmware/RV770_me.bin \ |
206 | firmware/RV770_me.bin \ |
199 | \ |
207 | \ |
200 | firmware/RV610_pfp.bin \ |
208 | firmware/RV610_pfp.bin \ |
201 | firmware/RV620_pfp.bin \ |
209 | firmware/RV620_pfp.bin \ |
202 | firmware/RV630_pfp.bin \ |
210 | firmware/RV630_pfp.bin \ |
203 | firmware/RV635_pfp.bin \ |
211 | firmware/RV635_pfp.bin \ |
204 | firmware/RV670_pfp.bin \ |
212 | firmware/RV670_pfp.bin \ |
205 | firmware/RV710_pfp.bin \ |
213 | firmware/RV710_pfp.bin \ |
206 | firmware/RV730_pfp.bin \ |
214 | firmware/RV730_pfp.bin \ |
207 | firmware/RV770_pfp.bin \ |
215 | firmware/RV770_pfp.bin \ |
208 | \ |
216 | \ |
209 | firmware/R600_rlc.bin \ |
217 | firmware/R600_rlc.bin \ |
210 | firmware/R700_rlc.bin |
218 | firmware/R700_rlc.bin |
211 | 219 | ||
212 | 220 | ||
213 | SRC_DEP:= |
221 | SRC_DEP:= |
214 | 222 | ||
215 | 223 | ||
216 | NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\ |
224 | NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\ |
217 | $(patsubst %.c, %.o, $(NAME_SRC)))) |
225 | $(patsubst %.c, %.o, $(NAME_SRC)))) |
218 | 226 | ||
219 | 227 | ||
220 | 228 | ||
221 | all: $(NAME).dll |
229 | all: $(NAME).dll |
222 | 230 | ||
223 | $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile |
231 | $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile |
224 | $(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS) |
232 | $(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS) |
225 | 233 | ||
226 | 234 | ||
227 | %.o : %.c $(HFILES) Makefile |
235 | %.o : %.c $(HFILES) Makefile |
228 | $(CC) $(CFLAGS) $(DEFINES) -o $@ $< |
236 | $(CC) $(CFLAGS) $(DEFINES) -o $@ $< |
229 | 237 | ||
230 | %.o : %.S $(HFILES) Makefile |
238 | %.o : %.S $(HFILES) Makefile |
231 | $(AS) -o $@ $< |
239 | $(AS) -o $@ $< |
232 | 240 | ||
233 | fwblob.o: fwblob.asm $(FW_BINS) Makefile |
241 | fwblob.o: fwblob.asm $(FW_BINS) Makefile |
234 | $(FASM) $< $@ |
242 | $(FASM) $< $@ |
235 | 243 | ||
236 | 244 | ||
237 | clean: |
245 | clean: |
238 | -rm -f */*.o> |
246 | -rm -f */*.o> |
239 | 247 | ||
240 | fwblob.o:> |
248 | fwblob.o:> |
241 | 249 | ||
242 | %.o> |
250 | %.o> |