Date: Thu, 26 Jun 2014 10:51:35 GMT From: estaszuk@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r270066 - in soc2014/estaszuk/microblaze-head/head: . sys/conf sys/contrib/altq/altq sys/dev/ofw sys/kern sys/libkern/microblaze sys/microblaze sys/microblaze/include sys/microblaze/... Message-ID: <201406261051.s5QApZAG092903@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: estaszuk Date: Thu Jun 26 10:51:34 2014 New Revision: 270066 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=270066 Log: Compilable version Added: soc2014/estaszuk/microblaze-head/head/sys/conf/ldscript.microblaze soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/mulsi3.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/ofw_machdep.h soc2014/estaszuk/microblaze-head/head/sys/microblaze/make-chip-folder_std.rpi soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/elf_trampoline.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/inckern.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/pmap.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/std.mb soc2014/estaszuk/microblaze-head/head/sys/microblaze/sampleBoard/ soc2014/estaszuk/microblaze-head/head/sys/microblaze/sampleBoard/if_emac.c Modified: soc2014/estaszuk/microblaze-head/head/src.conf soc2014/estaszuk/microblaze-head/head/sys/conf/Makefile.microblaze soc2014/estaszuk/microblaze-head/head/sys/conf/files.microblaze soc2014/estaszuk/microblaze-head/head/sys/contrib/altq/altq/if_altq.h soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus.h soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus_subr.h soc2014/estaszuk/microblaze-head/head/sys/kern/kern_clock.c soc2014/estaszuk/microblaze-head/head/sys/kern/kern_et.c soc2014/estaszuk/microblaze-head/head/sys/kern/kern_shutdown.c soc2014/estaszuk/microblaze-head/head/sys/kern/kern_tc.c soc2014/estaszuk/microblaze-head/head/sys/kern/kern_timeout.c soc2014/estaszuk/microblaze-head/head/sys/kern/link_elf.c soc2014/estaszuk/microblaze-head/head/sys/kern/subr_bus_dma.c soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/divsi3.S soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ffs.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/asm.h soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpu.h soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpufunc.h soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/pmap.h soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/bcopy_page.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/cpufunc_asm.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/cpufunc_asm_armv4.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/devmap.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/dump_machdep.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/exception.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/fiq.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/identcpu.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/intr.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/locore.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/machdep.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/mem.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/minidump_machdep.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/nexus.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/stack_machdep.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/std.microblaze soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/support.S soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/trap.c soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/vm_machdep.c soc2014/estaszuk/microblaze-head/head/sys/net/if.c soc2014/estaszuk/microblaze-head/head/sys/sys/buf_ring.h soc2014/estaszuk/microblaze-head/head/sys/vm/vm_kern.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_map.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_mmap.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_object.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_page.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_pageout.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_phys.c soc2014/estaszuk/microblaze-head/head/sys/vm/vm_reserv.c soc2014/estaszuk/microblaze-head/head/sys/vm/vnode_pager.c Modified: soc2014/estaszuk/microblaze-head/head/src.conf ============================================================================== --- soc2014/estaszuk/microblaze-head/head/src.conf Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/src.conf Thu Jun 26 10:51:34 2014 (r270066) @@ -9,12 +9,14 @@ TARGET_ARCH= microblaze KERNCONF= MICROBLAZEDEF #KERN= RPI-B -CC= /mnt/install/bin/mb-gcc -CXX= /mnt/install/bin/mb-g++ -AS= /mnt/install/bin/mb-as -LD= /mnt/install/bin/mb-ld -AR= /mnt/install/bin/mb-ar -NM= /mnt/install/bin/mb-nm +CC= /mnt/install3/bin/mb-gcc +CXX= /mnt/install3/bin/mb-g++ +AS= /mnt/install3/bin/mb-as +LD= /mnt/install3/bin/mb-ld +AR= /mnt/install3/bin/mb-ar +NM= /mnt/install3/bin/mb-nm +OBJCOPY= /mnt/install3/bin/mb-objcopy +SIZE= /mnt/install3/bin/mb-size NO_WERROR=yes WERROR= Modified: soc2014/estaszuk/microblaze-head/head/sys/conf/Makefile.microblaze ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/conf/Makefile.microblaze Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/conf/Makefile.microblaze Thu Jun 26 10:51:34 2014 (r270066) @@ -49,6 +49,10 @@ CFLAGS.clang += -mllvm -arm-enable-ehabi .endif +# This is to prevent DSO mode when linking bfd due to used ld +# (caused problems which may need further investigations) +HACK_EXTRA_FLAGS= + # hack because genassym.c includes sys/bus.h which includes these. genassym.o: bus_if.h device_if.h Modified: soc2014/estaszuk/microblaze-head/head/sys/conf/files.microblaze ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/conf/files.microblaze Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/conf/files.microblaze Thu Jun 26 10:51:34 2014 (r270066) @@ -54,29 +54,29 @@ microblaze/microblaze/undefined.c standard microblaze/microblaze/vm_machdep.c standard microblaze/microblaze/vfp.c standard -board_id.h standard \ - dependency "$S/arm/conf/genboardid.awk $S/arm/conf/mach-types" \ - compile-with "${AWK} -f $S/arm/conf/genboardid.awk $S/arm/conf/mach-types > board_id.h" \ - no-obj no-implicit-rule before-depend \ - clean "board_id.h" -cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs compile-with "${ZFS_C}" -crypto/blowfish/bf_enc.c optional crypto | ipsec -crypto/des/des_enc.c optional crypto | ipsec | netsmb -dev/fb/fb.c optional sc -dev/fdt/fdt_arm_platform.c optional platform fdt -dev/hwpmc/hwpmc_arm.c optional hwpmc -dev/kbd/kbd.c optional sc | vt -dev/syscons/scgfbrndr.c optional sc -dev/syscons/scterm-teken.c optional sc -dev/syscons/scvtb.c optional sc -dev/uart/uart_cpu_fdt.c optional uart fdt +microblaze/microblaze/pmap.c standard +microblaze/sampleBoard/if_emac.c standard +#board_id.h standard \ +# dependency "$S/arm/conf/genboardid.awk $S/arm/conf/mach-types" \ +# compile-with "${AWK} -f $S/arm/conf/genboardid.awk $S/arm/conf/mach-types > board_id.h" \ +# no-obj no-implicit-rule before-depend \ +# clean "board_id.h" +#cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs compile-with "${ZFS_C}" +#crypto/blowfish/bf_enc.c optional crypto | ipsec +#crypto/des/des_enc.c optional crypto | ipsec | netsmb +#dev/fb/fb.c optional sc +#dev/fdt/fdt_arm_platform.c optional platform fdt +#dev/hwpmc/hwpmc_arm.c optional hwpmc +#dev/kbd/kbd.c optional sc | vt +#dev/syscons/scgfbrndr.c optional sc +#dev/syscons/scterm-teken.c optional sc +#dev/syscons/scvtb.c optional sc +#dev/uart/uart_cpu_fdt.c optional uart fdt -font.h optional sc \ - compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \ - no-obj no-implicit-rule before-depend \ - clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" -kern/subr_busdma_bufalloc.c standard -kern/subr_dummy_vdso_tc.c standard +#font.h optional sc \ + +#kern/subr_busdma_bufalloc.c standard +#kern/subr_dummy_vdso_tc.c standard libkern/microblaze/aeabi_unwind.c standard libkern/microblaze/divsi3.S standard libkern/microblaze/ffs.S standard @@ -98,3 +98,4 @@ libkern/ucmpdi2.c standard libkern/udivdi3.c standard libkern/umoddi3.c standard +libkern/microblaze/mulsi3.S standard Added: soc2014/estaszuk/microblaze-head/head/sys/conf/ldscript.microblaze ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/estaszuk/microblaze-head/head/sys/conf/ldscript.microblaze Thu Jun 26 10:51:34 2014 (r270066) @@ -0,0 +1,142 @@ +/* $FreeBSD$ */ + +OUTPUT_FORMAT("elf32-microblaze", "elf32-microblaze", "elf32-microblaze") +OUTPUT_ARCH(microblaze) +ENTRY(__start) +SEARCH_DIR(/usr/lib); +PROVIDE (__stack = 0); +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + + . = kernbase + SIZEOF_HEADERS; + + .text : + { + *(.text) + *(.stub) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + *(.gnu.linkonce.t*) + } =0 + _etext = .; + PROVIDE (etext = .); + + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rela.text : + { *(.rela.text) *(.rela.gnu.linkonce.t*) } + .rela.data : + { *(.rela.data) *(.rela.gnu.linkonce.d*) } + .rela.rodata : + { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } + .rela.got : { *(.rela.got) } + .rela.got1 : { *(.rela.got1) } + .rela.got2 : { *(.rela.got2) } + .rela.ctors : { *(.rela.ctors) } + .rela.dtors : { *(.rela.dtors) } + .rela.init : { *(.rela.init) } + .rela.fini : { *(.rela.fini) } + .rela.bss : { *(.rela.bss) } + .rela.plt : { *(.rela.plt) } + .rela.sdata : { *(.rela.sdata) } + .rela.sbss : { *(.rela.sbss) } + .rela.sdata2 : { *(.rela.sdata2) } + .rela.sbss2 : { *(.rela.sbss2) } + + .init : { *(.init) } =0 + .fini : { *(.fini) } =0 + .rodata : { *(.rodata) *(.gnu.linkonce.r*) } + .rodata1 : { *(.rodata1) } + .sdata2 : { *(.sdata2) } + .sbss2 : { *(.sbss2) } + /* Adjust the address for the data segment to the next page up. */ + . = ((. + 0x1000) & ~(0x1000 - 1)); + .data : + { + *(.data) + *(.gnu.linkonce.d*) + CONSTRUCTORS + } + .data1 : { *(.data1) } + .got1 : { *(.got1) } + .dynamic : { *(.dynamic) } + /* Put .ctors and .dtors next to the .got2 section, so that the pointers + get relocated with -mrelocatable. Also put in the .fixup pointers. + The current compiler no longer needs this, but keep it around for 2.7.2 */ + PROVIDE (_GOT2_START_ = .); + .got2 : { *(.got2) } + PROVIDE (__CTOR_LIST__ = .); + .ctors : { *(.ctors) } + PROVIDE (__CTOR_END__ = .); + PROVIDE (__DTOR_LIST__ = .); + .dtors : { *(.dtors) } + PROVIDE (__DTOR_END__ = .); + PROVIDE (_FIXUP_START_ = .); + .fixup : { *(.fixup) } + PROVIDE (_FIXUP_END_ = .); + PROVIDE (_GOT2_END_ = .); + PROVIDE (_GOT_START_ = .); + .got : { *(.got) } + .got.plt : { *(.got.plt) } + PROVIDE (_GOT_END_ = .); + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : { *(.sdata) } + _edata = .; + PROVIDE (edata = .); + .sbss : + { + PROVIDE (__sbss_start = .); + *(.sbss) + *(.scommon) + *(.dynsbss) + PROVIDE (__sbss_end = .); + } + .plt : { *(.plt) } + .bss : + { + PROVIDE (__bss_start = .); + *(.dynbss) + *(.bss) + *(COMMON) + } + _end = . ; + PROVIDE (end = .); + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* These must appear regardless of . */ +} + Modified: soc2014/estaszuk/microblaze-head/head/sys/contrib/altq/altq/if_altq.h ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/contrib/altq/altq/if_altq.h Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/contrib/altq/altq/if_altq.h Thu Jun 26 10:51:34 2014 (r270066) @@ -51,9 +51,10 @@ int ifq_len; int ifq_maxlen; int ifq_drops; -#ifdef __FreeBSD__ +// TODO litle dirty comment +//#ifdef __FreeBSD__ struct mtx ifq_mtx; -#endif +//#endif /* driver owned queue (used for bulk dequeue and prepend) UNLOCKED */ struct mbuf *ifq_drv_head; Modified: soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus.h ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus.h Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus.h Thu Jun 26 10:51:34 2014 (r270066) @@ -33,7 +33,20 @@ #include <dev/ofw/openfirm.h> -#include "ofw_bus_if.h" +// TODO #include "ofw_bus_if.h" <- this should be generated + +// TODO ------v this should be removed +#ifndef BUS_INFO_STUB +#define BUS_INFO_STUB + struct ofw_bus_devinfo { + phandle_t obd_node; + char *obd_compat; + char *obd_model; + char *obd_name; + char *obd_type; + char *obd_status; + }; +#endif static __inline const char * ofw_bus_get_compat(device_t dev) Modified: soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus_subr.h ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus_subr.h Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/dev/ofw/ofw_bus_subr.h Thu Jun 26 10:51:34 2014 (r270066) @@ -35,7 +35,20 @@ #include <dev/ofw/openfirm.h> -#include "ofw_bus_if.h" +// TODO #include "ofw_bus_if.h" <- this should be generated + +// TODO ------v this should be removed +#ifndef BUS_INFO_STUB +#define BUS_INFO_STUB + struct ofw_bus_devinfo { + phandle_t obd_node; + char *obd_compat; + char *obd_model; + char *obd_name; + char *obd_type; + char *obd_status; + }; +#endif #define ORIP_NOINT -1 #define ORIR_NOTFOUND 0xffffffff @@ -52,15 +65,18 @@ uintptr_t ocd_data; }; + /* Generic implementation of ofw_bus_if.m methods and helper routines */ int ofw_bus_gen_setup_devinfo(struct ofw_bus_devinfo *, phandle_t); void ofw_bus_gen_destroy_devinfo(struct ofw_bus_devinfo *); +/* TODO ofw_bus_get_compat_t ofw_bus_gen_get_compat; ofw_bus_get_model_t ofw_bus_gen_get_model; ofw_bus_get_name_t ofw_bus_gen_get_name; ofw_bus_get_node_t ofw_bus_gen_get_node; ofw_bus_get_type_t ofw_bus_gen_get_type; +*/ /* Helper method to report interesting OF properties in pnpinfo */ bus_child_pnpinfo_str_t ofw_bus_gen_child_pnpinfo_str; Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/kern_clock.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/kern_clock.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/kern_clock.c Thu Jun 26 10:51:34 2014 (r270066) @@ -652,7 +652,7 @@ p->p_flag |= P_PROFIL; mtx_lock(&time_lock); if (++profprocs == 1) - cpu_startprofclock(); +// TODO cpu_startprofclock(); mtx_unlock(&time_lock); } } @@ -679,7 +679,7 @@ p->p_flag &= ~P_PROFIL; mtx_lock(&time_lock); if (--profprocs == 0) - cpu_stopprofclock(); +// TODO cpu_stopprofclock(); mtx_unlock(&time_lock); } } Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/kern_et.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/kern_et.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/kern_et.c Thu Jun 26 10:51:34 2014 (r270066) @@ -124,7 +124,7 @@ { #ifndef NO_EVENTTIMERS - cpu_et_frequency(et, newfreq); +// TODO cpu_et_frequency(et, newfreq); #endif } Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/kern_shutdown.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/kern_shutdown.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/kern_shutdown.c Thu Jun 26 10:51:34 2014 (r270066) @@ -539,7 +539,7 @@ #endif /* cpu_boot(howto); */ /* doesn't do anything at the moment */ - cpu_reset(); +// TODO cpu_reset(); /* NOTREACHED */ /* assuming reset worked */ } Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/kern_tc.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/kern_tc.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/kern_tc.c Thu Jun 26 10:51:34 2014 (r270066) @@ -1331,10 +1331,10 @@ /* Now is a good time to change timecounters. */ if (th->th_counter != timecounter) { #ifndef __arm__ - if ((timecounter->tc_flags & TC_FLAGS_C3STOP) != 0) - cpu_disable_deep_sleep++; - if ((th->th_counter->tc_flags & TC_FLAGS_C3STOP) != 0) - cpu_disable_deep_sleep--; +// TODO microblaze to def? if ((timecounter->tc_flags & TC_FLAGS_C3STOP) != 0) +// TODO cpu_disable_deep_sleep++; +// TODO if ((th->th_counter->tc_flags & TC_FLAGS_C3STOP) != 0) +// TODO cpu_disable_deep_sleep--; #endif th->th_counter = timecounter; th->th_offset_count = ncount; @@ -2000,7 +2000,7 @@ vdso_th->th_counter_mask = th->th_counter->tc_counter_mask; vdso_th->th_offset = th->th_offset; vdso_th->th_boottime = boottimebin; - enabled = cpu_fill_vdso_timehands(vdso_th); +// TODO enabled = cpu_fill_vdso_timehands(vdso_th); if (!vdso_th_enable) enabled = 0; return (enabled); Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/kern_timeout.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/kern_timeout.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/kern_timeout.c Thu Jun 26 10:51:34 2014 (r270066) @@ -533,7 +533,7 @@ } while (((int)(firstb - lastb)) <= 0); cc->cc_firstevent = last; #ifndef NO_EVENTTIMERS - cpu_new_callout(curcpu, last, first); +// TODO cpu_new_callout(curcpu, last, first); #endif #ifdef CALLOUT_PROFILING avg_depth_dir += (depth_dir * 1000 - avg_depth_dir) >> 8; @@ -608,7 +608,7 @@ sbt = c->c_time + c->c_precision; if (sbt < cc->cc_firstevent) { cc->cc_firstevent = sbt; - cpu_new_callout(cpu, sbt, c->c_time); +// TODO cpu_new_callout(cpu, sbt, c->c_time); } #endif } @@ -965,10 +965,10 @@ * active ones. */ #ifdef __LP64__ - to_sbt = DPCPU_GET(hardclocktime); +// TODO to_sbt = DPCPU_GET(hardclocktime); #else spinlock_enter(); - to_sbt = DPCPU_GET(hardclocktime); +// TODO to_sbt = DPCPU_GET(hardclocktime); spinlock_exit(); #endif #endif Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/link_elf.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/link_elf.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/link_elf.c Thu Jun 26 10:51:34 2014 (r270066) @@ -397,7 +397,7 @@ #ifdef SPARSE_MAPPING ef->object = 0; #endif - ef->dynamic = dp; +// TODO - propably ifdef or sth ef->dynamic = dp; if (dp != NULL) parse_dynamic(ef); Modified: soc2014/estaszuk/microblaze-head/head/sys/kern/subr_bus_dma.c ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/kern/subr_bus_dma.c Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/kern/subr_bus_dma.c Thu Jun 26 10:51:34 2014 (r270066) @@ -65,9 +65,9 @@ error = 0; for (; sglist_cnt > 0; sglist_cnt--, list++) { - error = _bus_dmamap_load_buffer(dmat, map, - (void *)(uintptr_t)list->ds_addr, list->ds_len, pmap, - flags, NULL, nsegs); +// TODO error = _bus_dmamap_load_buffer(dmat, map, +// TODO (void *)(uintptr_t)list->ds_addr, list->ds_len, pmap, +// TODO flags, NULL, nsegs); if (error) break; } @@ -85,9 +85,9 @@ error = 0; for (; sglist_cnt > 0; sglist_cnt--, list++) { - error = _bus_dmamap_load_phys(dmat, map, - (vm_paddr_t)list->ds_addr, list->ds_len, flags, NULL, - nsegs); +// TODO error = _bus_dmamap_load_phys(dmat, map, +// TODO (vm_paddr_t)list->ds_addr, list->ds_len, flags, NULL, +// TODO nsegs); if (error) break; } @@ -107,9 +107,9 @@ error = 0; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, map, m->m_data, - m->m_len, kernel_pmap, flags | BUS_DMA_LOAD_MBUF, - segs, nsegs); +// TODO error = _bus_dmamap_load_buffer(dmat, map, m->m_data, +// TODO m->m_len, kernel_pmap, flags | BUS_DMA_LOAD_MBUF, +// TODO segs, nsegs); } } CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", @@ -149,8 +149,8 @@ for (i = 0; tlen > 0; i++, tlen -= len) { len = min(PAGE_SIZE - ma_offs, tlen); paddr = VM_PAGE_TO_PHYS(ma[i]) + ma_offs; - error = _bus_dmamap_load_phys(dmat, map, paddr, len, - flags, segs, segp); +// TODO error = _bus_dmamap_load_phys(dmat, map, paddr, len, +// TODO flags, segs, segp); if (error != 0) break; ma_offs = 0; @@ -208,13 +208,13 @@ switch ((ccb_h->flags & CAM_DATA_MASK)) { case CAM_DATA_VADDR: - error = _bus_dmamap_load_buffer(dmat, map, data_ptr, dxfer_len, - kernel_pmap, flags, NULL, nsegs); +// TODO error = _bus_dmamap_load_buffer(dmat, map, data_ptr, dxfer_len, +// TODO kernel_pmap, flags, NULL, nsegs); break; case CAM_DATA_PADDR: - error = _bus_dmamap_load_phys(dmat, map, - (vm_paddr_t)(uintptr_t)data_ptr, dxfer_len, flags, NULL, - nsegs); +// TODO error = _bus_dmamap_load_phys(dmat, map, +// TODO (vm_paddr_t)(uintptr_t)data_ptr, dxfer_len, flags, NULL, +// TODO nsegs); break; case CAM_DATA_SG: error = _bus_dmamap_load_vlist(dmat, map, @@ -269,8 +269,8 @@ addr = (caddr_t) iov[i].iov_base; minlen = resid < iov[i].iov_len ? resid : iov[i].iov_len; if (minlen > 0) { - error = _bus_dmamap_load_buffer(dmat, map, addr, - minlen, pmap, flags, NULL, nsegs); +// TODO error = _bus_dmamap_load_buffer(dmat, map, addr, +// TODO minlen, pmap, flags, NULL, nsegs); resid -= minlen; } } @@ -293,12 +293,12 @@ if ((flags & BUS_DMA_NOWAIT) == 0) { mem = memdesc_vaddr(buf, buflen); - _bus_dmamap_waitok(dmat, map, &mem, callback, callback_arg); +// TODO _bus_dmamap_waitok(dmat, map, &mem, callback, callback_arg); } nsegs = -1; - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, NULL, &nsegs); +// TODO error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, +// TODO flags, NULL, &nsegs); nsegs++; CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", @@ -307,7 +307,7 @@ if (error == EINPROGRESS) return (error); - segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); +// TODO segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); if (error) (*callback)(callback_arg, segs, 0, error); else @@ -337,7 +337,7 @@ error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, NULL, &nsegs, flags); ++nsegs; - segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); +// TODO segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); if (error) (*callback)(callback_arg, segs, 0, 0, error); else @@ -358,7 +358,7 @@ *nsegs = -1; error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, segs, nsegs, flags); ++*nsegs; - _bus_dmamap_complete(dmat, map, segs, *nsegs, error); +// TODO _bus_dmamap_complete(dmat, map, segs, *nsegs, error); return (error); } @@ -374,7 +374,7 @@ error = _bus_dmamap_load_uio(dmat, map, uio, &nsegs, flags); nsegs++; - segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); +// TODO segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); if (error) (*callback)(callback_arg, segs, 0, 0, error); else @@ -390,6 +390,7 @@ bus_dmamap_callback_t *callback, void *callback_arg, int flags) { +/* TODO bus_dma_segment_t *segs; struct ccb_hdr *ccb_h; struct memdesc mem; @@ -423,11 +424,13 @@ /* * Return ENOMEM to the caller so that it can pass it up the stack. * This error only happens when NOWAIT is set, so deferral is disabled. - */ + * / if (error == ENOMEM) return (error); return (0); +*/ + return('NULL'); } int @@ -435,6 +438,7 @@ bus_dmamap_callback_t *callback, void *callback_arg, int flags) { +/* TODO bus_dma_segment_t *segs; struct memdesc mem; int error; @@ -462,11 +466,13 @@ /* * Return ENOMEM to the caller so that it can pass it up the stack. * This error only happens when NOWAIT is set, so deferral is disabled. - */ + * / if (error == ENOMEM) return (error); return (0); +*/ + return('NULL'); } int @@ -474,6 +480,7 @@ struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { +/* TODO bus_dma_segment_t *segs; int error; int nsegs; @@ -525,7 +532,7 @@ if (error == EINPROGRESS) return (error); - segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); +// TODO segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); if (error) (*callback)(callback_arg, segs, 0, error); else @@ -534,9 +541,10 @@ /* * Return ENOMEM to the caller so that it can pass it up the stack. * This error only happens when NOWAIT is set, so deferral is disabled. - */ + * / if (error == ENOMEM) return (error); - - return (0); +*/ + return ('NULL'); +// TODO return (0); } Modified: soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/divsi3.S ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/divsi3.S Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/divsi3.S Thu Jun 26 10:51:34 2014 (r270066) @@ -23,32 +23,36 @@ */ ENTRY_NP(__umodsi3) +/* TODO stmfd sp!, {lr} - sub sp, sp, #4 /* align stack */ + sub sp, sp, #4 /* align stack * / bl .L_udivide - add sp, sp, #4 /* unalign stack */ + add sp, sp, #4 /* unalign stack * / mov r0, r1 ldmfd sp!, {pc} +*/ END(__umodsi3) ENTRY_NP(__modsi3) +/* TODO stmfd sp!, {lr} - sub sp, sp, #4 /* align stack */ + sub sp, sp, #4 /* align stack * / bl .L_divide - add sp, sp, #4 /* unalign stack */ + add sp, sp, #4 /* unalign stack * / mov r0, r1 ldmfd sp!, {pc} .L_overflow: #if !defined(_KERNEL) && !defined(_STANDALONE) - mov r0, #8 /* SIGFPE */ - bl PIC_SYM(_C_LABEL(raise), PLT) /* raise it */ + mov r0, #8 /* SIGFPE * / + bl PIC_SYM(_C_LABEL(raise), PLT) /* raise it * / mov r0, #0 #else - /* XXX should cause a fatal error */ + /* XXX should cause a fatal error * / mvn r0, #0 #endif RET +*/ END(__modsi3) #ifdef __ARM_EABI__ @@ -57,25 +61,28 @@ #endif ENTRY_NP(__udivsi3) .L_udivide: /* r0 = r0 / r1; r1 = r0 % r1 */ +/* TODO + eor r0, r1, r0 eor r1, r0, r1 eor r0, r1, r0 - /* r0 = r1 / r0; r1 = r1 % r0 */ + /* r0 = r1 / r0; r1 = r1 % r0 * / cmp r0, #1 bcc .L_overflow beq .L_divide_l0 mov ip, #0 movs r1, r1 bpl .L_divide_l1 - orr ip, ip, #0x20000000 /* ip bit 0x20000000 = -ve r1 */ + orr ip, ip, #0x20000000 /* ip bit 0x20000000 = -ve r1 * / movs r1, r1, lsr #1 - orrcs ip, ip, #0x10000000 /* ip bit 0x10000000 = bit 0 of r1 */ + orrcs ip, ip, #0x10000000 /* ip bit 0x10000000 = bit 0 of r1 * / b .L_divide_l1 -.L_divide_l0: /* r0 == 1 */ +.L_divide_l0: /* r0 == 1 * / mov r0, r1 mov r1, #0 RET +*/ #ifdef __ARM_EABI__ END(__aeabi_uidiv) END(__aeabi_uidivmod) @@ -87,11 +94,13 @@ ENTRY_NP(__aeabi_idivmod) #endif ENTRY_NP(__divsi3) -.L_divide: /* r0 = r0 / r1; r1 = r0 % r1 */ +/* TODO + +.L_divide: /* r0 = r0 / r1; r1 = r0 % r1 * / eor r0, r1, r0 eor r1, r0, r1 eor r0, r1, r0 - /* r0 = r1 / r0; r1 = r1 % r0 */ + /* r0 = r1 / r0; r1 = r1 % r0 * / cmp r0, #1 bcc .L_overflow beq .L_divide_l0 @@ -100,8 +109,8 @@ ands r2, r1, #0x80000000 eor ip, ip, r2 rsbmi r1, r1, #0 - orr ip, r2, ip, lsr #1 /* ip bit 0x40000000 = -ve division */ - /* ip bit 0x80000000 = -ve remainder */ + orr ip, r2, ip, lsr #1 /* ip bit 0x40000000 = -ve division * / + /* ip bit 0x80000000 = -ve remainder * / .L_divide_l1: mov r2, #1 @@ -110,15 +119,15 @@ /* * If the highest bit of the dividend is set, we have to be * careful when shifting the divisor. Test this. - */ + * / movs r1,r1 bpl .L_old_code /* * At this point, the highest bit of r1 is known to be set. * We abuse this below in the tst instructions. - */ - tst r1, r0 /*, lsl #0 */ + * / + tst r1, r0 /*, lsl #0 * / bmi .L_divide_b1 tst r1, r0, lsl #1 bmi .L_divide_b2 @@ -184,7 +193,7 @@ * instead of: * tst r1, r0, lsl #31 * bmi .L_divide_b32 - */ + * / b .L_divide_b32 .L_old_code: @@ -386,7 +395,7 @@ cmp ip, #0 rsbmi r1, r1, #0 movs ip, ip, lsl #1 - bicmi r0, r0, #0x80000000 /* Fix incase we divided 0x80000000 */ + bicmi r0, r0, #0x80000000 /* Fix incase we divided 0x80000000 * / rsbmi r0, r0, #0 RET @@ -400,6 +409,7 @@ addhs r3, r3, r2 mov r0, r3 RET +*/ #ifdef __ARM_EABI__ END(__aeabi_idiv) END(__aeabi_idivmod) Modified: soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ffs.S ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ffs.S Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ffs.S Thu Jun 26 10:51:34 2014 (r270066) @@ -46,8 +46,9 @@ */ ENTRY(ffs) +/* TODO - /* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry */ + /* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry * / rsb r1, r0, #0 ands r0, r0, r1 #ifndef _ARM_ARCH_5 @@ -55,32 +56,33 @@ /* * now r0 has at most one set bit, call this X * if X = 0, all further instructions are skipped - */ + * / adrne r2, .L_ffs_table - orrne r0, r0, r0, lsl #4 /* r0 = X * 0x11 */ - orrne r0, r0, r0, lsl #6 /* r0 = X * 0x451 */ - rsbne r0, r0, r0, lsl #16 /* r0 = X * 0x0450fbaf */ + orrne r0, r0, r0, lsl #4 /* r0 = X * 0x11 * / + orrne r0, r0, r0, lsl #6 /* r0 = X * 0x451 * / + rsbne r0, r0, r0, lsl #16 /* r0 = X * 0x0450fbaf * / - /* now lookup in table indexed on top 6 bits of r0 */ + /* now lookup in table indexed on top 6 bits of r0 * / ldrneb r0, [ r2, r0, lsr #26 ] RET .text; .type .L_ffs_table, _ASM_TYPE_OBJECT; .L_ffs_table: -/* 0 1 2 3 4 5 6 7 */ - .byte 0, 1, 2, 13, 3, 7, 0, 14 /* 0- 7 */ - .byte 4, 0, 8, 0, 0, 0, 0, 15 /* 8-15 */ - .byte 11, 5, 0, 0, 9, 0, 0, 26 /* 16-23 */ - .byte 0, 0, 0, 0, 0, 22, 28, 16 /* 24-31 */ - .byte 32, 12, 6, 0, 0, 0, 0, 0 /* 32-39 */ - .byte 10, 0, 0, 25, 0, 0, 21, 27 /* 40-47 */ - .byte 31, 0, 0, 0, 0, 24, 0, 20 /* 48-55 */ - .byte 30, 0, 23, 19, 29, 18, 17, 0 /* 56-63 */ +/* 0 1 2 3 4 5 6 7 * / + .byte 0, 1, 2, 13, 3, 7, 0, 14 /* 0- 7 * / + .byte 4, 0, 8, 0, 0, 0, 0, 15 /* 8-15 * / + .byte 11, 5, 0, 0, 9, 0, 0, 26 /* 16-23 * / + .byte 0, 0, 0, 0, 0, 22, 28, 16 /* 24-31 * / + .byte 32, 12, 6, 0, 0, 0, 0, 0 /* 32-39 * / + .byte 10, 0, 0, 25, 0, 0, 21, 27 /* 40-47 * / + .byte 31, 0, 0, 0, 0, 24, 0, 20 /* 48-55 * / + .byte 30, 0, 23, 19, 29, 18, 17, 0 /* 56-63 * / #else clzne r0, r0 rsbne r0, r0, #32 RET #endif +*/ END(ffs) Added: soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/mulsi3.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/mulsi3.S Thu Jun 26 10:51:34 2014 (r270066) @@ -0,0 +1,69 @@ +###################################-*-asm*- +# +# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# +# Contributed by Michael Eager <eager@eagercon.com>. +# +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3, or (at your option) any +# later version. +# +# GCC is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# Under Section 7 of GPL version 3, you are granted additional +# permissions described in the GCC Runtime Library Exception, version +# 3.1, as published by the Free Software Foundation. +# +# You should have received a copy of the GNU General Public License and +# a copy of the GCC Runtime Library Exception along with this program; +# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +# <http://www.gnu.org/licenses/>. +# +# mulsi3.S +# +# Multiply operation for 32 bit integers. +# Input : Operand1 in Reg r5 +# Operand2 in Reg r6 +# Output: Result [op1 * op2] in Reg r3 +# +####################################### + + .globl __mulsi3 + .ent __mulsi3 + .type __mulsi3,@function +__mulsi3: + .frame r1,0,r15 + add r3,r0,r0 + BEQI r5,$L_Result_Is_Zero # Multiply by Zero + BEQI r6,$L_Result_Is_Zero # Multiply by Zero + BGEId r5,$L_R5_Pos + XOR r4,r5,r6 # Get the sign of the result + RSUBI r5,r5,0 # Make r5 positive +$L_R5_Pos: + BGEI r6,$L_R6_Pos + RSUBI r6,r6,0 # Make r6 positive +$L_R6_Pos: + bri $L1 +$L2: + add r5,r5,r5 +$L1: + srl r6,r6 + addc r7,r0,r0 + beqi r7,$L2 + bneid r6,$L2 + add r3,r3,r5 + blti r4,$L_NegateResult + rtsd r15,8 + nop +$L_NegateResult: + rtsd r15,8 + rsub r3,r3,r0 +$L_Result_Is_Zero: + rtsd r15,8 + addi r3,r0,0 + .end __mulsi3 + .size __mulsi3, . - __mulsi3 Modified: soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/asm.h ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/asm.h Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/asm.h Thu Jun 26 10:51:34 2014 (r270066) @@ -72,8 +72,16 @@ #define _ASM_TYPE_FUNCTION #function #define _ASM_TYPE_OBJECT #object #define GLOBAL(X) .globl x +// TODO was (.type removed), inspect microblaze asm: +/* #define _ENTRY(x) \ .text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x: _FNSTART +*/ +#define _ENTRY(x) \ + .text; \ + _ALIGN_TEXT; \ + .globl x; \ + x: _FNSTART #define _END(x) .size x, . - x; _FNEND Modified: soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpu.h ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpu.h Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpu.h Thu Jun 26 10:51:34 2014 (r270066) @@ -7,6 +7,9 @@ #include <machine/armreg.h> #include <machine/frame.h> +// TODO +#define DELAY(x) + void cpu_halt(void); void swi_vm(void *); Modified: soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpufunc.h ============================================================================== --- soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpufunc.h Thu Jun 26 09:42:00 2014 (r270065) +++ soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpufunc.h Thu Jun 26 10:51:34 2014 (r270066) @@ -594,16 +594,28 @@ #define ARM_CPSR_I32 (1 << 7) /* IRQ disable */ #define disable_interrupts(mask) \ + 0x424c4144; \ + __asm(".word 0x424c4144") + +/* TODO disable (__set_cpsr_c((mask) & (ARM_CPSR_I32 | ARM_CPSR_F32), \ (mask) & (ARM_CPSR_I32 | ARM_CPSR_F32))) +*/ #define enable_interrupts(mask) \ - (__set_cpsr_c((mask) & (ARM_CPSR_I32 | ARM_CPSR_F32), 0)) + __asm(".word 0x424c4144") + +/* TODO disable +(__set_cpsr_c((mask) & (ARM_CPSR_I32 | ARM_CPSR_F32), 0)) +*/ #define restore_interrupts(old_cpsr) \ - (__set_cpsr_c((ARM_CPSR_I32 | ARM_CPSR_F32), \ - (old_cpsr) & (ARM_CPSR_I32 | ARM_CPSR_F32))) + __asm(".word 0x424c4144") +/* TODO disable +(__set_cpsr_c((ARM_CPSR_I32 | ARM_CPSR_F32), \ + (old_cpsr) & (ARM_CPSR_I32 | ARM_CPSR_F32))) +*/ static __inline register_t intr_disable(void) { Added: soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/ofw_machdep.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/ofw_machdep.h Thu Jun 26 10:51:34 2014 (r270066) @@ -0,0 +1,44 @@ +/*- + * Copyright (c) 2009 The FreeBSD Foundation + * All rights reserved. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406261051.s5QApZAG092903>