summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2007-08-20put rlphy onto the standard ramdisk; spotted by jsgTheo de Raadt
2007-08-16I don't really know what I was thinking when I wrote this. Not only does theArtur Grabowski
"array" index start at 1, the code also abused index 0 to detect that we were doing a KERN_POOL_NPOOLS. Just look at *name == KERN_POOL_NPOOLS instead of using index == 0 for that. deraadt@ ok
2007-08-16back out part of last diff; breaks all hardware wep decryption.Theo de Raadt
from damien
2007-08-15Kernel stacks can live beyond EINTSTACK now.Mark Kettenis
ok deraadt@
2007-08-15oops, forgot the print the intr string on attachDavid Gwynne
2007-08-15hook the interrupt upDavid Gwynne
2007-08-15Add sti@uturn; the C180 has it there. Tested by nick@.Mark Kettenis
2007-08-15implement nxe_start. this is enough to put packets on the wire. the sglDavid Gwynne
layout of this chip is extremely weird. there's only 4 sg entries in each tx descriptor, but theyre out of order. you can use multiple tx descriptors to tx more than 4 segments, but instead of letting you use all 64bytes that a tx descriptor uses you just use the same 4 sg entries, and up to 8 descs.
2007-08-15program the mac control thing according the the multicast or promiscDavid Gwynne
settings that we ask for. set these flags when the interface is brought up.
2007-08-15program the lladdr when the chip is brought up.David Gwynne
2007-08-15sync all the bits for use by the hardware, and then point the chip at them.David Gwynne
the firmware is now ready to send and recv packets.
2007-08-15when the interface is brought up allocate all the things that are neededDavid Gwynne
for the chip to work with, eg, the context region, the cmd consumer, the cmd/tx ring, the status ring, and the 3 rx rings. free it all when we bring the chip down.
2007-08-15allocate pkt lists when the interface is brought up.David Gwynne
make nxe_up return void and report its failure by not setting the RUNNING flag like every other nic ive read.
2007-08-15here are the tx, rx, and status (rx completion) descriptors used in the ioDavid Gwynne
paths.
2007-08-15move the firmware to the right state before we start allocating everythingDavid Gwynne
for it.
2007-08-15lock accesses to the ioctl handler.David Gwynne
2007-08-15this code definitely uses queue.hDavid Gwynne
2007-08-15tell the ioctl handler to call nxe_up/down/iff at the right times. theyDavid Gwynne
are just stubs at the moment though.
2007-08-15code to allocate, free, sync, and iterate over rings. this is based looselyDavid Gwynne
on the fifos used in tht. very loosely. tht fifos were set up to take small writes of varying length and read or write them into the dmaable memory. nxe has fixed sized descriptors in each ring, so this ring handling is set up to just give pointers to the memory to be filled in directly. the iterator just pushes this pointer around the ring.
2007-08-15steal pkt handling from tht. this lets us keep track of mbufs when theyreDavid Gwynne
on the hardware. it stashes ids and dma bits.
2007-08-15implement link state monitoring. you have to poll the firmware to see theDavid Gwynne
state of the link. since im doing this already for the temp sensor i merged the polling for both and do them at the same time. i poll every 5 seconds now instead of every 60. i can now tell if the cable between the nxe and tht has fallen out. white space fixes while im here.
2007-08-15hook up the ether and ifmedia layers. you can see nxe in ifconfig outputDavid Gwynne
now. just the lladdr though, i havent filled in enough of the ioctl handler for more yet.
2007-08-15hook a kernel sensor up to the temp register on the chip. poll out of aDavid Gwynne
timeout since reading registers doesnt need a process context.
2007-08-15start the init of the firmware. it can take a long time, so we start it inDavid Gwynne
attach and make sure its finished at mountroot time.
2007-08-15When polling call ahaintr() at splbio(). Noticed by and fix tested byKenneth R Westerback
todd@.
2007-08-15pull my wrapper around single segment dma allocations in. its got to be atDavid Gwynne
least half a dozen drivers now that use this.
2007-08-15white space fixesDavid Gwynne
2007-08-15define the rest of the registers i know about: the interrupt registers,David Gwynne
init, xg config, ring and context addresses, temp sensor, firmware states.
2007-08-15fetch the user info off the board. the lladdr and firmware version areDavid Gwynne
stored on it. display the fw and lladdr in attach.
2007-08-15we're a nic, so we need the arpcom and ifmedia structs in our softcDavid Gwynne
2007-08-15read the board information off the flash. check it, and stash what type ofDavid Gwynne
board they say we are.
2007-08-15provide a map of the board type the flash memory will tell us we are to theDavid Gwynne
type of interface it provides. drivers need to deal with 10Gb (XGB) and gigabit (GBE) differently.
2007-08-15code to unmap the register windows if something in attach goes horriblyDavid Gwynne
wrong.
2007-08-15list where different things lie in the flash.David Gwynne
define what the board info and user info regions in the flash look like as structs.
2007-08-15we're going to spend most of our time in crb window 1, so move the chipDavid Gwynne
into that window in attach.
2007-08-15move the mapping of the registers out of attach and into their own functionDavid Gwynne
2007-08-15code to read stuff out of the flash chip on the netxen.David Gwynne
2007-08-15code to wait on registers in the main and crb spaces.David Gwynne
2007-08-15add DPRINTF and DASSERT debug macros.David Gwynne
2007-08-15there is flash on the netxens that contains things like the firmware, theDavid Gwynne
firmware boot loader, and various structs with information about how the chip is configured. these registers are used to access that flash.
2007-08-14stash the pci function this port is on in the softc.David Gwynne
create a bus_space subregion for the CRB register window. provide a way to set which crb window you want, and a way to read and write in it.
2007-08-14start defining the register layout.David Gwynne
the netxen nics are a bit strange. their main register window is HUGE at a big 128MB size. apparently this isnt enough though, so they used the top 32 meg of the main register space as a window into a 64meg region. which half of this space (the CRB window) is available is determined by setting a register INSIDE this window. that register just happens to be available in both windows. kinda crazy.
2007-08-14read and write routines for the big register windowDavid Gwynne
2007-08-14dont match on nxe boards that dont claim to be network devices.David Gwynne
2007-08-14stash the dma tag.David Gwynne
map the register windows. put a stub in place for the interrupt handler
2007-08-14enter nxe, a driver for the netxen 10Gb cards.David Gwynne
i have most of this already written but this is just the attach glue. i'll be adding code in smallish chunks so i can decruft it as i go.
2007-08-14Indention and comment.Marcus Glocker
2007-08-14Prevent sneaking in unencrypted packets into WEP traffic.Alexander Bluhm
ok damien@, put it ok deraadt@
2007-08-14Work-around an interaction between FPU context switching and the VIAHenric Jungheim
Padlock entropy polling on SMP boxes. ok deraadt@, kettenis@
2007-08-14remove my unfinished version of the nx driver, we have a better solutionReyk Floeter
requested by dlg@ ok deraadt@