Changeset c1205ee in rtems-libbsd
- Timestamp:
- 03/02/17 15:29:11 (7 years ago)
- Branches:
- 5, 5-freebsd-12, 6-freebsd-12, master
- Children:
- 5f3722a
- Parents:
- f0dd0c5
- git-author:
- Sebastian Huber <sebastian.huber@…> (03/02/17 15:29:11)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (03/08/17 08:04:18)
- Files:
-
- 7 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile.todo
rf0dd0c5 rc1205ee 19 19 GENERATED += $(LOCAL_SRC)/miibus_if.c 20 20 GENERATED += $(LOCAL_INC)/miidevs.h 21 GENERATED += $(LOCAL_INC)/ofw_if.h 22 GENERATED += $(LOCAL_SRC)/ofw_if.c 23 GENERATED += $(LOCAL_INC)/ofw_bus_if.h 24 GENERATED += $(LOCAL_SRC)/ofw_bus_if.c 21 25 GENERATED += $(LOCAL_INC)/pci_if.h 22 26 GENERATED += $(LOCAL_SRC)/pci_if.c … … 110 114 mv mmcbr_if.c $@ 111 115 116 $(LOCAL_INC)/ofw_if.h: $(FREEBSD_SRC)/sys/dev/ofw/ofw_if.m 117 awk -f $(TOOLS)/makeobjops.awk $< -h 118 mv ofw_if.h $@ 119 120 $(LOCAL_SRC)/ofw_if.c: $(FREEBSD_SRC)/sys/dev/ofw/ofw_if.m 121 awk -f $(TOOLS)/makeobjops.awk $< -c 122 mv ofw_if.c $@ 123 124 $(LOCAL_INC)/ofw_bus_if.h: $(FREEBSD_SRC)/sys/dev/ofw/ofw_bus_if.m 125 awk -f $(TOOLS)/makeobjops.awk $< -h 126 mv ofw_bus_if.h $@ 127 128 $(LOCAL_SRC)/ofw_bus_if.c: $(FREEBSD_SRC)/sys/dev/ofw/ofw_bus_if.m 129 awk -f $(TOOLS)/makeobjops.awk $< -c 130 mv ofw_bus_if.c $@ 131 112 132 $(LOCAL_INC)/if_dwc_if.h: $(FREEBSD_SRC)/sys/dev/dwc/if_dwc_if.m 113 133 awk -f $(TOOLS)/makeobjops.awk $< -h -
freebsd/sys/dev/ofw/ofw_fdt.c
rf0dd0c5 rc1205ee 98 98 }; 99 99 100 #ifndef __rtems__ 100 101 static ofw_def_t ofw_fdt = { 102 #else /* __rtems__ */ 103 ofw_def_t ofw_fdt = { 104 #endif /* __rtems__ */ 101 105 OFW_FDT, 102 106 ofw_fdt_methods, 103 107 0 104 108 }; 109 #ifndef __rtems__ 105 110 OFW_DEF(ofw_fdt); 111 #endif /* __rtems__ */ 106 112 107 113 static void *fdtp = NULL; -
freebsd/sys/dev/ofw/ofwvar.h
rf0dd0c5 rc1205ee 81 81 typedef struct ofw_kobj *ofw_t; 82 82 typedef struct kobj_class ofw_def_t; 83 #ifdef __rtems__ 84 extern ofw_def_t ofw_fdt; 85 #endif /* __rtems__ */ 83 86 84 87 #define ofw_method_t kobj_method_t -
freebsd/sys/dev/ofw/openfirm.c
rf0dd0c5 rc1205ee 85 85 static ihandle_t stdout; 86 86 87 #ifndef __rtems__ 87 88 static ofw_def_t *ofw_def_impl = NULL; 89 #else /* __rtems__ */ 90 #define ofw_def_impl (&ofw_fdt) 91 #endif /* __rtems__ */ 88 92 static ofw_t ofw_obj; 89 93 static struct ofw_kobj ofw_kernel_obj; … … 145 149 { 146 150 151 #ifdef __rtems__ 152 if (OF_init(__DECONST(void *, bsp_fdt_get())) != 0) 153 return (ENXIO); 154 #endif /* __rtems__ */ 147 155 /* 148 156 * There is no locking during this init because it runs much earlier … … 199 207 OF_install(char *name, int prio) 200 208 { 209 #ifndef __rtems__ 201 210 ofw_def_t *ofwp, **ofwpp; 202 211 static int curr_prio = 0; … … 218 227 219 228 return (FALSE); 229 #else /* __rtems__ */ 230 return (TRUE); 231 #endif /* __rtems__ */ 220 232 } 221 233 -
libbsd.py
rf0dd0c5 rc1205ee 52 52 'local/device_if.c', 53 53 'local/miibus_if.c', 54 'local/ofw_bus_if.c', 55 'local/ofw_if.c', 54 56 'local/pcib_if.c', 55 57 'local/pci_if.c', … … 391 393 'sys/vm/uma_core.c', 392 394 'sys/vm/uma_dbg.c', 395 ], 396 mm.generator['source']() 397 ) 398 return mod 399 400 # 401 # FDT 402 # 403 def fdt(mm): 404 mod = builder.Module('fdt') 405 mod.addKernelSpaceHeaderFiles( 406 [ 407 'sys/sys/slicer.h', 408 'sys/dev/fdt/fdt_common.h', 409 'sys/dev/fdt/simplebus.h', 410 'sys/dev/ofw/ofw_bus.h', 411 'sys/dev/ofw/ofw_bus_subr.h', 412 'sys/dev/ofw/ofw_subr.h', 413 'sys/dev/ofw/ofw_pci.h', 414 'sys/dev/ofw/ofwvar.h', 415 'sys/dev/ofw/openfirm.h', 416 ] 417 ) 418 mod.addKernelSpaceSourceFiles( 419 [ 420 'sys/dev/fdt/simplebus.c', 421 'sys/dev/fdt/fdt_common.c', 422 'sys/dev/ofw/ofwbus.c', 423 'sys/dev/ofw/openfirm.c', 424 'sys/dev/ofw/ofw_fdt.c', 425 'sys/dev/ofw/ofw_bus_subr.c', 426 'sys/dev/ofw/ofw_subr.c', 427 ], 428 mm.generator['source']() 429 ) 430 mod.addRTEMSSourceFiles( 431 [ 432 'rtems/ofw_machdep.c', 393 433 ], 394 434 mm.generator['source']() … … 3040 3080 mm.addModule(base(mm)) 3041 3081 3082 mm.addModule(fdt(mm)) 3042 3083 mm.addModule(mmc(mm)) 3043 3084 -
libbsd_waf.py
rf0dd0c5 rc1205ee 774 774 'freebsd/sys/dev/e1000/if_igb.c', 775 775 'freebsd/sys/dev/e1000/if_lem.c', 776 'freebsd/sys/dev/fdt/fdt_common.c', 777 'freebsd/sys/dev/fdt/simplebus.c', 776 778 'freebsd/sys/dev/fxp/if_fxp.c', 777 779 'freebsd/sys/dev/led/led.c', … … 788 790 'freebsd/sys/dev/mmc/mmc.c', 789 791 'freebsd/sys/dev/mmc/mmcsd.c', 792 'freebsd/sys/dev/ofw/ofw_bus_subr.c', 793 'freebsd/sys/dev/ofw/ofw_fdt.c', 794 'freebsd/sys/dev/ofw/ofw_subr.c', 795 'freebsd/sys/dev/ofw/ofwbus.c', 796 'freebsd/sys/dev/ofw/openfirm.c', 790 797 'freebsd/sys/dev/pci/pci.c', 791 798 'freebsd/sys/dev/pci/pci_pci.c', … … 1230 1237 'rtemsbsd/local/mmcbr_if.c', 1231 1238 'rtemsbsd/local/mmcbus_if.c', 1239 'rtemsbsd/local/ofw_bus_if.c', 1240 'rtemsbsd/local/ofw_if.c', 1232 1241 'rtemsbsd/local/pci_if.c', 1233 1242 'rtemsbsd/local/pcib_if.c', … … 1258 1267 'rtemsbsd/pppd/utils.c', 1259 1268 'rtemsbsd/rtems/ipsec_get_policylen.c', 1269 'rtemsbsd/rtems/ofw_machdep.c', 1260 1270 'rtemsbsd/rtems/rtems-bsd-allocator-domain-size.c', 1261 1271 'rtemsbsd/rtems/rtems-bsd-arp-processor.c', -
rtemsbsd/include/machine/ofw_machdep.h
rf0dd0c5 rc1205ee 33 33 #define _MACHINE_OFW_MACHDEP_H_ 34 34 35 #include <sys/types.h> 36 #include <sys/bus.h> 37 #include <sys/rman.h> 38 #include <vm/vm.h> 39 35 40 typedef uint32_t cell_t; 36 41 42 struct mem_region { 43 uint64_t mr_start; 44 uint64_t mr_size; 45 }; 46 37 47 #endif /* _MACHINE_OFW_MACHDEP_H_ */ -
rtemsbsd/include/rtems/bsd/local/opt_platform.h
rf0dd0c5 rc1205ee 1 #include <bsp/fdt.h> 2 #ifdef BSP_FDT_IS_SUPPORTED 3 #define FDT 1 4 #endif -
rtemsbsd/rtems/rtems-kernel-nexus.c
rf0dd0c5 rc1205ee 8 8 9 9 /* 10 * Copyright (c) 2009 -2015embedded brains GmbH. All rights reserved.10 * Copyright (c) 2009, 2017 embedded brains GmbH. All rights reserved. 11 11 * 12 12 * embedded brains GmbH … … 51 51 #include <machine/bus.h> 52 52 53 #include <rtems/bsd/local/opt_platform.h> 54 55 #ifdef FDT 56 #include <dev/ofw/ofw_bus.h> 57 #endif 58 53 59 #include <rtems/bsd/bsd.h> 54 60 #include <rtems/irq-extension.h> 55 61 56 62 /* #define DISABLE_INTERRUPT_EXTENSION */ 63 64 #if defined(__i386__) || defined(FDT) 65 #define ENABLE_RESOURCE_ACTIVATE_DEACTIVATE 66 #endif 57 67 58 68 RTEMS_BSD_DECLARE_SET(nexus, rtems_bsd_device); … … 206 216 } 207 217 208 #ifdef __i386__218 #ifdef ENABLE_RESOURCE_ACTIVATE_DEACTIVATE 209 219 static int 210 220 nexus_activate_resource(device_t bus, device_t child, int type, int rid, 211 221 struct resource *res) 212 222 { 223 213 224 switch (type) { 225 #ifdef __i386__ 214 226 case SYS_RES_IOPORT: 215 227 rman_set_bustag(res, X86_BUS_SPACE_IO); 216 228 break; 229 #endif 217 230 case SYS_RES_MEMORY: 231 #ifdef __i386__ 218 232 rman_set_bustag(res, X86_BUS_SPACE_MEM); 233 #else 234 rman_set_bushandle(res, rman_get_start(res)); 235 #endif 219 236 break; 220 237 } … … 330 347 return (err); 331 348 } 349 350 #ifdef FDT 351 static int 352 nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, 353 pcell_t *intr) 354 { 355 356 return ((int)bsp_fdt_map_intr(intr[0])); 357 } 358 #endif /* FDT */ 332 359 333 360 static device_method_t nexus_methods[] = { … … 345 372 DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), 346 373 DEVMETHOD(bus_release_resource, nexus_release_resource), 347 #ifdef __i386__374 #ifdef ENABLE_RESOURCE_ACTIVATE_DEACTIVATE 348 375 DEVMETHOD(bus_activate_resource, nexus_activate_resource), 349 376 DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), … … 351 378 DEVMETHOD(bus_setup_intr, nexus_setup_intr), 352 379 DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), 380 381 #ifdef FDT 382 /* OFW interface */ 383 DEVMETHOD(ofw_bus_map_intr, nexus_ofw_map_intr), 384 #endif 353 385 354 386 { 0, 0 }
Note: See TracChangeset
for help on using the changeset viewer.