History log of /freebsd-10-stable/sys/dev/nand/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
328267 23-Jan-2018 emaste

MFC r317806 by glebius:

The nandsim(4) simulator driver doesn't have any protection against
races at least in its ioctl handler, and at the same time it creates
device entry with 0666 permissions.

To plug possible issues in it:
- Mark it as needing Giant.
- Switch device mode to 0600.

Submitted by: C Turt
Reviewed by: imp
Security: Possible double free in ioctl handler

314667 04-Mar-2017 avg

MFC r283291: don't use CALLOUT_MPSAFE with callout_init()

The main purpose of this MFC is to reduce conflicts for other merges.
Parts of the original change have already "trickled down" via individual MFCs.


/freebsd-10-stable/sys/amd64/amd64/mp_watchdog.c
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
/freebsd-10-stable/sys/cddl/dev/profile/profile.c
/freebsd-10-stable/sys/compat/ndis/subr_ntoskrnl.c
/freebsd-10-stable/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
/freebsd-10-stable/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c
/freebsd-10-stable/sys/dev/ath/if_ath.c
/freebsd-10-stable/sys/dev/ce/if_ce.c
/freebsd-10-stable/sys/dev/cp/if_cp.c
/freebsd-10-stable/sys/dev/ctau/if_ct.c
/freebsd-10-stable/sys/dev/cx/if_cx.c
/freebsd-10-stable/sys/dev/cxgb/cxgb_main.c
/freebsd-10-stable/sys/dev/cxgb/cxgb_sge.c
/freebsd-10-stable/sys/dev/dcons/dcons_os.c
/freebsd-10-stable/sys/dev/drm2/drm_irq.c
/freebsd-10-stable/sys/dev/drm2/i915/intel_display.c
/freebsd-10-stable/sys/dev/glxsb/glxsb.c
/freebsd-10-stable/sys/dev/gxemul/cons/gxemul_cons.c
/freebsd-10-stable/sys/dev/hifn/hifn7751.c
/freebsd-10-stable/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
/freebsd-10-stable/sys/dev/if_ndis/if_ndis.c
/freebsd-10-stable/sys/dev/isci/isci_io_request.c
/freebsd-10-stable/sys/dev/mfi/mfi.c
/freebsd-10-stable/sys/dev/mwl/if_mwl.c
nandsim_chip.c
/freebsd-10-stable/sys/dev/ntb/ntb_hw/ntb_hw.c
/freebsd-10-stable/sys/dev/nxge/if_nxge.c
/freebsd-10-stable/sys/dev/oce/oce_if.c
/freebsd-10-stable/sys/dev/patm/if_patm_attach.c
/freebsd-10-stable/sys/dev/rndtest/rndtest.c
/freebsd-10-stable/sys/dev/safe/safe.c
/freebsd-10-stable/sys/dev/sound/midi/mpu401.c
/freebsd-10-stable/sys/dev/sound/pci/atiixp.c
/freebsd-10-stable/sys/dev/sound/pci/es137x.c
/freebsd-10-stable/sys/dev/sound/pci/hda/hdaa.c
/freebsd-10-stable/sys/dev/sound/pci/hda/hdac.c
/freebsd-10-stable/sys/dev/sound/pci/via8233.c
/freebsd-10-stable/sys/dev/twa/tw_osl_freebsd.c
/freebsd-10-stable/sys/dev/tws/tws.c
/freebsd-10-stable/sys/dev/ubsec/ubsec.c
/freebsd-10-stable/sys/dev/virtio/random/virtio_random.c
/freebsd-10-stable/sys/dev/xen/netfront/netfront.c
/freebsd-10-stable/sys/fs/nfs/nfs_commonport.c
/freebsd-10-stable/sys/gdb/gdb_cons.c
/freebsd-10-stable/sys/geom/gate/g_gate.c
/freebsd-10-stable/sys/geom/journal/g_journal.c
/freebsd-10-stable/sys/geom/mirror/g_mirror.c
/freebsd-10-stable/sys/geom/raid3/g_raid3.c
/freebsd-10-stable/sys/geom/sched/gs_rr.c
/freebsd-10-stable/sys/i386/i386/mp_watchdog.c
/freebsd-10-stable/sys/kern/init_main.c
/freebsd-10-stable/sys/kern/kern_synch.c
/freebsd-10-stable/sys/kern/kern_thread.c
/freebsd-10-stable/sys/kern/subr_vmem.c
/freebsd-10-stable/sys/kern/uipc_domain.c
/freebsd-10-stable/sys/mips/cavium/octe/ethernet.c
/freebsd-10-stable/sys/mips/cavium/octeon_rnd.c
/freebsd-10-stable/sys/mips/nlm/dev/net/xlpge.c
/freebsd-10-stable/sys/mips/rmi/dev/xlr/rge.c
/freebsd-10-stable/sys/net/if_spppsubr.c
/freebsd-10-stable/sys/net80211/ieee80211_ht.c
/freebsd-10-stable/sys/net80211/ieee80211_hwmp.c
/freebsd-10-stable/sys/net80211/ieee80211_mesh.c
/freebsd-10-stable/sys/net80211/ieee80211_node.c
/freebsd-10-stable/sys/net80211/ieee80211_proto.c
/freebsd-10-stable/sys/netgraph/netflow/ng_netflow.c
/freebsd-10-stable/sys/netgraph/netgraph.h
/freebsd-10-stable/sys/netinet/in_pcb.c
/freebsd-10-stable/sys/netinet/ip_mroute.c
/freebsd-10-stable/sys/netinet/tcp_hostcache.c
/freebsd-10-stable/sys/netinet/tcp_subr.c
/freebsd-10-stable/sys/netinet6/in6_rmx.c
/freebsd-10-stable/sys/netpfil/ipfw/ip_dummynet.c
/freebsd-10-stable/sys/netpfil/ipfw/ip_fw_dynamic.c
/freebsd-10-stable/sys/netpfil/pf/if_pfsync.c
/freebsd-10-stable/sys/ofed/include/linux/timer.h
/freebsd-10-stable/sys/ofed/include/linux/workqueue.h
/freebsd-10-stable/sys/powerpc/mambo/mambo_console.c
/freebsd-10-stable/sys/powerpc/pseries/phyp_console.c
/freebsd-10-stable/sys/sys/callout.h
/freebsd-10-stable/sys/vm/uma_core.c
/freebsd-10-stable/sys/x86/x86/mca.c
313525 10-Feb-2017 ngie

MFC r311993:
r311993 (by kan):

Fix typo in r311971.

312406 19-Jan-2017 mav

MFC r311971: Report random flash storage as non-rotating to GEOM_DISK.

While doing it, introduce respective constants in geom_disk.h.

285599 15-Jul-2015 brueffer

MFC: r285006

Use the correct le*dec function to decode a 16bit type.

PR: 194228
Submitted by: David Horwitt
Approved by: re (marius)

266217 16-May-2014 ian

MFC r262591, r262592, r262593, r262597, r262598, r262599, r262600, r262601,
r262606

Initial import of Linux/Vendor DTS files for various embedded boards.

Initial import of DTS files from Linux

Correct initial import script

New AT91 devices or fdt probe added to existing devices. Some of these
are just stubs for testing the new dts.
- nand
- SDRAMC
- shdwc
- tcb
- usb host and gadget


/freebsd-10-stable/sys/arm/at91/at91_sdramc.c
/freebsd-10-stable/sys/arm/at91/at91_shdwc.c
/freebsd-10-stable/sys/arm/at91/at91_tcb.c
/freebsd-10-stable/sys/contrib/dts
/freebsd-10-stable/sys/contrib/dts/FreeBSD-upgrade
/freebsd-10-stable/sys/contrib/dts/arm/animeo_ip.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91-ariag25.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91-cosino.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91-cosino_mega2560.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91-foxg20.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91-qil_a9260.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91-sama5d3_xplained.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91rm9200.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91rm9200_pqfp.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91rm9200ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9260.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9263.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9263ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g15.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g15ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g20.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g20ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g20ek_2mmc.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g20ek_common.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g25.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g25ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g35.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g35ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9g45.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9m10g45ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9n12.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9n12ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x25.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x25ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x35.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x35ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x5.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x5_macb0.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x5_macb1.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x5_usart3.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x5cm.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/at91sam9x5ek.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/ethernut5.dts
/freebsd-10-stable/sys/contrib/dts/arm/evk-pro3.dts
/freebsd-10-stable/sys/contrib/dts/arm/ge863-pro3.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/kizbox.dts
/freebsd-10-stable/sys/contrib/dts/arm/mpa1600.dts
/freebsd-10-stable/sys/contrib/dts/arm/pm9g45.dts
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d31.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d31ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/sama5d33.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d33ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/sama5d34.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d34ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/sama5d35.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d35ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/sama5d36.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d36ek.dts
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_can.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_emac.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_gmac.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_lcd.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_mci2.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_tcb1.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3_uart.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3xcm.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3xdm.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/sama5d3xmb.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/tny_a9260.dts
/freebsd-10-stable/sys/contrib/dts/arm/tny_a9260_common.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/tny_a9263.dts
/freebsd-10-stable/sys/contrib/dts/arm/tny_a9g20.dts
/freebsd-10-stable/sys/contrib/dts/arm/usb_a9260.dts
/freebsd-10-stable/sys/contrib/dts/arm/usb_a9260_common.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/usb_a9263.dts
/freebsd-10-stable/sys/contrib/dts/arm/usb_a9g20.dts
/freebsd-10-stable/sys/contrib/dts/arm/usb_a9g20_common.dtsi
/freebsd-10-stable/sys/contrib/dts/arm/usb_a9g20_lpw.dts
nfc_at91.c
/freebsd-10-stable/sys/dev/usb/controller/at91dci_fdt.c
/freebsd-10-stable/sys/dev/usb/controller/ohci_fdt.c
266087 14-May-2014 ian

MFC r260695, r260696, r260884, r260885, r260886, r260887

Provide a simplified way to specify GPIO pins for the Atmel port.

Add at91 data so we can convert a PIO unit number into a base address.

Add at91 standard memory controller helper functions.

Generalize AT91 NAND support a bit.

Connect NAND for the SAM9260EK eval board, as well as the HotE HL-201.

Add nand device and NANDFS into the mix for those at91 boards that have
support for it at the moment.

266065 14-May-2014 ian

MFC r260092, r260093, r260121, r260180,

Allow AT91_MCI_ALLOW_OVERCLOCK to be an option in kernel config files.

Set the SoC name for the atmelbus name.

Add support for Samsung K9F2G08U0A (256MiB SLC) NAND

Comment updates.

262586 28-Feb-2014 brueffer

MFC: r261884

Correct the order of arguments to mtx_init().

PR: 186701
Submitted by: Takanori Sawada <tak.swd at gmail.com>

259379 14-Dec-2013 ian

MFC r258828:

Add a nand flash controller driver for Atmel at91 family. Tested only
on at91rm9200 so far.

259372 14-Dec-2013 ian

MFC r258740:

Look up a nand chip by id in the static table before trying to obtain
ONFI parameters. This allows a static table entry to provide valid data
for chips known to provide invalid ONFI data.

259371 14-Dec-2013 ian

MFC r257892, r258196, r258197, r258199, r258200, r258201, r258202:

Add ONFI signature check.

Add Micron chip found in Freescale Vybrid Family Phytec COSMIC board.

The vendor specified field is 88 bytes, not 8 bytes.

Update the onfi_params struct to ONFI revision 3.2 (06 12 2013).

Search for and validate the ONFI params as specified in the standard.

ONFI parameters are little-endian, hence we must take care to convert them
to native endianness. We must also pay attention to unaligned accesses.

Rework the routine that returns a pointer to the table of software ECC
byte positions within the OOB area to support chips with unusual OOB
sizes such as 218 or 224 bytes.

258554 25-Nov-2013 gber

MFC: r258387,r258425
Split raw reading/programming into smaller chunks to avoid allocating too
big chunk of kernel memory. Validate size of data. Add error handling to
avoid calling copyout() when data has not been read correctly. Also MFC of
change r258425 which fixes problem introduced by r258387.

Reviewed by: zbb
Reported by: x90c <geinblues@gmail.com>
Approved by: re

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


251651 12-Jun-2013 mav

Use direct custom implementations instead of g_handleattr() for CFI and NAND
d_getattr(). Since these drivers use disk(9) KPI and not directly GEOM, use
of that function means KPI layering violation, causing extra g_io_deliver()
call for the request.


251022 27-May-2013 gber

Fix ONFI chip detection.

Submitted by: Alexander Fedorov <alexander.fedorov@rtlservice.com>


245953 27-Jan-2013 ian

Add the chip used in recent GlobalScale Technologies *Plug computers

Approved by: cognet (mentor)


241896 22-Oct-2012 kib

Remove the support for using non-mpsafe filesystem modules.

In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.

The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.

Conducted and reviewed by: attilio
Tested by: pho


238046 03-Jul-2012 marcel

Add a driver for the Freescale FCM module in the localbus controller.
This driver does not yet handle multiple chip selects properly.

Note that the NAND infrastructure does not perform full page
reads or writes, which means that this driver cannot make use
of the hardware ECC that is otherwise present.


237605 26-Jun-2012 takawata

Add nand core module and module dependency information.

Reviewed by:gber


235537 17-May-2012 gber

Import work done under project/nand (@235533) into head.

The NAND Flash environment consists of several distinct components:
- NAND framework (drivers harness for NAND controllers and NAND chips)
- NAND simulator (NANDsim)
- NAND file system (NAND FS)
- Companion tools and utilities
- Documentation (manual pages)

This work is still experimental. Please use with caution.

Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks