freebsd-skq/sys/dev
rwatson e08ff303c9 Add terasic_mtl(4), a device driver for the Terasic Multi-Touch LCD,
used with Terasic's DE-4 and other similar FPGA boards.  This display
is 800x480 and includes a capacitive touch screen, multi-touch
gesture recognition, etc.  This device driver depends on a Cambridge-
provided IP core that allows the MTL device to be hooked up to the
Altera Avalon SoC bus, and also provides a VGA-like text frame buffer.

Although it is compiled as a single device driver, it actually
implements a number of different device nodes exporting various
aspects of this multi-function device to userspace:

- Simple memory-mapped driver for the MTL 24-bit pixel frame buffer.
- Simple memory-mapped driver for the MTL control register set.
- Simple memory-mapped driver for the MTL text frame buffer.
- syscons attachment for the MTL text frame buffer.

This driver attaches directly to Nexus as is common for SoC device
drivers, and for the time being is considered BERI-specific, although
in principle it might be used with other hard and soft cores on
Altera FPGAs.

Control registers, including touchscreen input, are simply memory
mapped; in the future it would be desirable to hook up a more
conventional device node that can stream events, support kqueue(2)/
poll(2)/select(2), etc.

This is the first use of syscons on MIPS, as far as I can tell, and
there are some loose ends, such as an inability to use the hardware
cursor.  More fundamentally, it appears that syscons(4) assumes that
either a host is PC-like (i386, amd64) *or* it must be using a
graphical frame buffer.  While the MTL supports a graphical frame
buffer, using the text frame buffer is preferable for console use.
Fixing this issue in syscons(4) requires non-trivial changes, as the
text frame buffer support assumes that direct memory access can be
done to the text frame buffer without using bus accessor methods,
which is not the case on MIPS.  As a workaround for this, we instead
double-buffer and pretend to be a graphical frame buffer exposing
text accessor methods, leading to some quirks in syscons behaviour.

Sponsored by:	DARPA, AFRL
2012-08-25 22:35:29 +00:00
..
aac On BIO_ERROR, set bio_resid to stop losing data in the error case. 2012-07-18 18:10:27 +00:00
acpi_support Add acpi_asus_wmi(4) -- driver for random extras found on WMI-compatible 2012-07-02 08:31:29 +00:00
acpica Merge ACPICA 20120816. 2012-08-16 20:54:52 +00:00
adb Release the ADB keyboard mutex when handling the power button 2012-06-23 13:52:44 +00:00
adlink
advansys Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
ae Fix the build. 2012-06-06 09:07:50 +00:00
age Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
agp After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
aha
ahb Remove a stale comment. 2012-03-12 20:31:58 +00:00
ahci Refactor enclosure manegement support in ahci(4). Move it out into separate 2012-07-26 13:44:48 +00:00
aic
aic7xxx In sys/dev/aic7xxx/aic79xx_osm.c, function ahd_attach(), initialize the 2012-08-06 20:01:32 +00:00
alc Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
ale - Const'ify the device lookup-table. 2012-04-04 21:09:02 +00:00
altera Add altera_jtag_uart(4), a device driver for Altera's JTAG UART soft core, 2012-08-25 11:30:36 +00:00
amdsbwd amdsbwd: update to support SB8xx southbridges 2011-06-07 06:18:02 +00:00
amdtemp - Add support for Family 12h, 14h and 15h processors. 2012-02-24 00:02:46 +00:00
amr The amr(4) firmware contains a rather dubious "feature" where it 2012-04-20 20:27:31 +00:00
an Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
arcmsr Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
asmc
asr Replace homegrown list implementation in sys/dev/asr/asr.c with 2012-04-20 21:17:33 +00:00
ata Use 16bit PIO instead of 32bit in case of misaligned buffer. 2012-07-21 14:59:43 +00:00
ath Remove the hard-coded AR5416-series parameters and instead use the 2012-08-24 17:39:57 +00:00
atkbdc Add another PS/2 keyboard PNP ID. This ID is listed as 2012-07-06 12:13:28 +00:00
auxio
bce Remove a spurious bace which cause build fail in case BCE_DEBUG option 2012-08-06 22:53:24 +00:00
bfe ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
bge Fix typo. 2012-06-07 03:22:20 +00:00
bktr Remove a few bits of FreeBSD 2.x compatibility code. 2011-11-14 18:21:27 +00:00
bm ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
buslogic Remove comments about creating DMA tags as children of the DMA tags of their 2012-03-12 19:29:32 +00:00
bwi Add opt_wlan.h includes, so IEEE80211_* configuration changes are 2012-05-12 15:11:53 +00:00
bwn Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
bxe Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cardbus - Add a bus_dma tag to each PCI bus that is a child of a Host-PCI bridge. 2012-03-02 20:38:04 +00:00
cas - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ce Fix clang warnings in sys/dev/ce/if_ce.c and sys/dev/cp/if_cp.c, 2011-12-29 17:46:24 +00:00
cesa Add support for Marvell 88F6282. 2012-07-28 21:56:24 +00:00
cfe kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
cfi CFI fixes for big endian archs. 2012-03-27 15:13:12 +00:00
ciss Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cm Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
cmx
coretemp #PROCHOT assertion is sticky after reading the MSR (accordingly with 2011-09-19 10:58:30 +00:00
cp Fix clang warnings in sys/dev/ce/if_ce.c and sys/dev/cp/if_cp.c, 2011-12-29 17:46:24 +00:00
cpuctl Add VIA microde update support to cpuctl(4) and cpucontrol(8). 2011-12-12 12:30:44 +00:00
cpufreq
cs Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ct
ctau
cx
cxgb Deal with the case where a syncache entry added by the TOE driver is 2012-08-21 22:23:17 +00:00
cxgbe Deal with the case where a syncache entry added by the TOE driver is 2012-08-21 22:23:17 +00:00
cy
dc - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
dcons kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
de More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
digi
dpms
dpt Fix the following clang warning in dpt(4): 2012-04-21 14:23:46 +00:00
drm Streamline use of cdevpriv and correct some corner cases. 2012-08-15 16:19:39 +00:00
drm2 Add drm and i915 ioctl translations for 32 bit process on 64 bit host. 2012-08-18 18:26:25 +00:00
e1000 Customer report of a panic on boot due to the old 2012-08-15 17:12:40 +00:00
ed Fix off by one error in mbuf access. Previously it caused panic. 2011-12-05 18:10:43 +00:00
eisa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
en Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
ep ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
esp - Merge from NetBSD: 2012-08-06 08:58:54 +00:00
et style. No functional changes. 2012-01-10 20:52:02 +00:00
etherswitch Setup the CPU port and broadcast map on the AR7240, rather than 2012-05-12 21:08:07 +00:00
ex Convert files to UTF-8 2012-01-15 13:23:18 +00:00
exca
fatm
fb Provide basic glue to allow syscons to be used on MIPS, modelled 2012-08-25 08:09:37 +00:00
fdc Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
fdt Do not swap byte order if we assign default value for intr_cells 2012-08-25 20:18:12 +00:00
fe Improve media status reporting, when the driver knows... 2012-01-30 22:47:02 +00:00
filemon There's no need to make filemon specific to i386 and amd64. All 2012-07-02 20:36:26 +00:00
firewire Fix an issue that caused the kernel to panic inside CTL when trying 2012-06-26 14:51:35 +00:00
flash Revert r236529, re-enabling verification of the flashed content as 2012-06-18 20:19:07 +00:00
fxp - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
gem - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
glxiic MFC 2011-05-16 16:34:03 +00:00
glxsb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
gpio Remove extra semicolon which rendered condition useless 2012-04-02 00:11:26 +00:00
gxemul In the gxemul console, check the RB_SERIAL boot flag, and change the 2012-08-25 07:48:52 +00:00
hatm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
hifn Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hme - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
hpt27xx Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:33 +00:00
hptiop Add PCI IDs for various new High Point RocketRAID 43xx and 3xxx devices. 2012-08-06 05:27:26 +00:00
hptmv Adding missing dependancies for loading hptiop(4), hptmv(4) and isp(4) as modules. 2012-06-01 04:34:49 +00:00
hptrr attach_generic causes missing devices in /dev when the driver 2012-06-17 02:46:27 +00:00
hwpmc Disable hwpmc(4) support for Intel Xeon Sandy Bridge (Model 0x2D). 2012-06-17 13:48:39 +00:00
ic
ichsmb - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ichwd Remove use of explicit bus space tags and handles and use methods that 2012-01-05 16:27:32 +00:00
ida Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
ie Isolate v_caddr_t in the ie driver. 2012-01-31 13:00:40 +00:00
ieee488 Convert files to UTF-8 2012-01-15 13:23:43 +00:00
if_ndis Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
iicbus Add s35390a_rtc(4) driver for Seiko Instruments S-35390A RTC. 2012-08-21 17:31:10 +00:00
iir Remove comments about creating DMA tags as children of the DMA tags of their 2012-03-12 19:29:32 +00:00
io
ipmi Don't try to stop the IPMI watchdog timer if it is not running. 2012-08-07 12:40:31 +00:00
ips Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
ipw Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
isci Clear freeze bit before calling xpt_release_devq. 2012-08-24 22:04:16 +00:00
iscsi/initiator Update to version 2.3.1.0 2012-04-13 18:21:56 +00:00
isf Add isf(4), a driver for the Intel StrataFlash family of NOR flash parts. 2012-08-25 18:08:20 +00:00
isp Remove dependence on MAXPHYS. 2012-08-21 16:18:11 +00:00
ispfw Switch to using FC-Tape firmware. 2012-07-26 13:58:43 +00:00
iwi Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
iwn We need to defer passing the DELBA request to the firmware until the aggr 2012-06-27 16:07:01 +00:00
ixgb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
ixgbe Update to the ixgbe driver: 2012-07-05 20:51:44 +00:00
jme Fix a logic error when use PCIY_PMG capability 2012-06-07 02:24:27 +00:00
joy
kbd Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kbdmux Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP. 2011-07-17 08:19:19 +00:00
ksyms Streamline use of cdevpriv and correct some corner cases. 2012-08-15 16:19:39 +00:00
le Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
led
lge ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
lindev
lmc More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
malo Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
mc146818
mca - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
mcd
md After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
mem
mfi sys/dev/mfivar.h contains references to MFI_DEBUG, but it never gets turned on unless the file also includes opt_mfi.h. 2012-07-11 19:08:23 +00:00
mge Merging of projects/armv6, part 6 2012-08-15 04:07:18 +00:00
mii Merging of projects/armv6, part 5 2012-08-15 04:03:55 +00:00
mk48txx Add support for MK48T37. 2011-05-15 13:17:08 +00:00
mlx Correct a typo. 2012-08-03 00:11:13 +00:00
mly Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
mmc The check for MAXPHYS doesn't make sense, so remove it. 2012-08-23 04:35:55 +00:00
mn
mps Several fixes to allow firmware/BIOS flash access from user-level: 2012-08-01 17:31:31 +00:00
mpt Fix an issue that caused the kernel to panic inside CTL when trying 2012-06-26 14:51:35 +00:00
mse
msk For Yukon II controllers that implement optional temperature sensor 2012-04-25 02:46:13 +00:00
mvs Add support for Marvell 88F6282. 2012-07-28 21:56:24 +00:00
mwl Fix the RX free list locking creation and destruction to be consistent 2012-04-17 04:52:57 +00:00
mxge Update mxge(4) firmware to the latest version available from 2012-05-29 00:53:51 +00:00
my ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
nand Add a driver for the Freescale FCM module in the localbus controller. 2012-07-03 01:00:29 +00:00
ncv
netmap Reword comment to try to improve clarity, and fix a typo. 2012-08-13 19:14:45 +00:00
nfe ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
nge - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
nmdm Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
nsp
null Fix for PR 138526. 2012-01-11 15:00:16 +00:00
nve More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
nvram
nvram2env
nxge Fix the following compilation warnings in nxge(4): 2012-04-20 21:43:19 +00:00
oce Use pci_find_cap() instead of pci_find_extcap() to locate PCI 2012-03-03 18:03:50 +00:00
ofw - Add OF_hasprop() and ofw_bus_has_prop(). These can be used to check 2012-08-18 11:25:07 +00:00
patm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
pbio
pccard Simplify resource activation a bit. 2012-06-28 07:26:44 +00:00
pccbb Restore the PCI bridge configuration upon resume. 2012-07-31 18:47:17 +00:00
pcf Make ofw_bus_get_node() consistently return -1 when there is no associated 2012-03-15 22:53:39 +00:00
pci Explicitly enable busmastering on PCI-PCI bridges. Transactions initiated 2012-08-06 19:49:57 +00:00
pcn Fix logic error 2012-02-27 08:57:02 +00:00
pdq
powermac_nvram "nvram,flash" may not be the first in the compatible list property of the 2012-05-20 02:43:54 +00:00
ppbus Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
ppc Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
pst Convert files to UTF-8 2012-01-15 13:23:18 +00:00
pty Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
puc Add support for SIIG Cyber Serial Dual PCI 16C850 2012-08-05 19:37:18 +00:00
qlxgb Do not announce IPv6 TSO support yet. The in-tree driver does not seem 2012-04-23 21:49:11 +00:00
quicc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ral Add support for Ralink RT2800/RT3000 chipsets. 2012-05-10 17:41:16 +00:00
random Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
rc
re Use array notation for consistency. 2012-08-13 16:03:30 +00:00
rndtest Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
rp
rt ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
safe More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
sbni
scc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
scd
sdhci Return back double spacing. 2012-07-30 08:56:56 +00:00
sec Recognize version 3.1 of the SEC crypto engine. 2012-05-24 21:24:23 +00:00
sf Remove unused variable mii. 2012-05-11 03:17:32 +00:00
sfxge M_DONTWAIT is a flag from historical mbuf(9) 2012-04-10 06:52:21 +00:00
sge - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
si
siba Expand the set of APIs available for locating PCI capabilities: 2012-03-03 18:08:57 +00:00
siis Partially revert r236666: 2012-06-10 11:17:14 +00:00
sio Document some MP assumptions for sio. 2012-06-28 07:28:39 +00:00
sis ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
sk ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
smbus - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
smc - Do not reinitialize the card if it is already running. 2012-04-07 06:56:38 +00:00
sn ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
snc ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
snp Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
sound Add a new sound driver for PowerMacs, found here on my Quad G5. 2012-08-19 19:40:33 +00:00
speaker Do not define bool/true/false if the symbols already exist. 2011-12-12 18:43:24 +00:00
spibus Fetch the chip select in the bridge driver, like all the other spi 2012-08-23 22:38:37 +00:00
ste - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
stg
stge ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
streams Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
sym Revert the use of BUS_DMA_ALLOCNOW when creating the DMA tag for user 2012-07-19 14:43:46 +00:00
syscons Provide basic glue to allow syscons to be used on MIPS, modelled 2012-08-25 08:09:37 +00:00
tdfx Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
terasic/mtl Add terasic_mtl(4), a device driver for the Terasic Multi-Touch LCD, 2012-08-25 22:35:29 +00:00
ti Eliminate vestiges of page coloring. 2011-12-15 05:07:16 +00:00
tl ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
tpm
trm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
tsec Do not reinitialise the interface if it is already running, this prevents the 2012-05-09 00:56:11 +00:00
twa Return CAM_SEL_TIMEOUT and CAM_DEV_NOT_THERE instead of CAM_TID_INVALID 2012-06-22 21:46:41 +00:00
twe Add locking to the twe(4) driver and make it MPSAFE: 2012-08-13 21:29:34 +00:00
tws Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
tx - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
txp
uart Merging of projects/armv6, part 8 2012-08-15 05:37:10 +00:00
ubsec More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
usb Add tunable for XHCI port routing. 2012-08-23 17:40:20 +00:00
utopia
vge Remove unused variable mii 2012-02-11 08:12:52 +00:00
viawd Fix viawd(4) that was only working as a module. 2012-06-20 09:01:44 +00:00
virtio Various VirtIO improvements 2012-07-11 02:57:19 +00:00
vkbd Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
vr Convert the if_vr(4) driver model to the interrupt filter model and use 2012-05-12 14:37:25 +00:00
vte Remove unused variable mii. 2011-11-23 05:34:01 +00:00
vx ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
vxge Fix warning generated by clang; 2012-06-01 04:23:20 +00:00
watchdog - Add the possibility to reuse the already last used timeout when patting 2011-04-27 16:43:03 +00:00
wb ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
wbwd Add device ids for the Winbond 83627DHG-P chip and set the registers to 2012-05-29 16:39:42 +00:00
wds Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
wi If an interrupt is received with no vap attached, just fail LINK events. 2012-02-25 08:01:29 +00:00
wl
wpi Add a missing #include, required for IEEE80211_DEBUG. 2012-06-01 06:20:39 +00:00
wtap Fix wtap to not panic in wtap_beacon_intrp. 2012-07-31 07:22:50 +00:00
xe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xen Fix a bug which causes a panic in daopen(). The panic is caused by 2012-06-24 04:29:03 +00:00
xl - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00