#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
297000 |
|
17-Mar-2016 |
jhibbits |
Use uintmax_t (typedef'd to rman_res_t type) for rman ranges.
On some architectures, u_long isn't large enough for resource definitions. Particularly, powerpc and arm allow 36-bit (or larger) physical addresses, but type `long' is only 32-bit. This extends rman's resources to uintmax_t. With this change, any resource can feasibly be placed anywhere in physical memory (within the constraints of the driver).
Why uintmax_t and not something machine dependent, or uint64_t? Though it's possible for uintmax_t to grow, it's highly unlikely it will become 128-bit on 32-bit architectures. 64-bit architectures should have plenty of RAM to absorb the increase on resource sizes if and when this occurs, and the number of resources on memory-constrained systems should be sufficiently small as to not pose a drastic overhead. That being said, uintmax_t was chosen for source clarity. If it's specified as uint64_t, all printf()-like calls would either need casts to uintmax_t, or be littered with PRI*64 macros. Casts to uintmax_t aren't horrible, but it would also bake into the API for resource_list_print_type() either a hidden assumption that entries get cast to uintmax_t for printing, or these calls would need the PRI*64 macros. Since source code is meant to be read more often than written, I chose the clearest path of simply using uintmax_t.
Tested on a PowerPC p5020-based board, which places all device resources in 0xfxxxxxxxx, and has 8GB RAM. Regression tested on qemu-system-i386 Regression tested on qemu-system-mips (malta profile)
Tested PAE and devinfo on virtualbox (live CD)
Special thanks to bz for his testing on ARM.
Reviewed By: bz, jhb (previous) Relnotes: Yes Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D4544
|
#
294883 |
|
27-Jan-2016 |
jhibbits |
Convert rman to use rman_res_t instead of u_long
Summary: Migrate to using the semi-opaque type rman_res_t to specify rman resources. For now, this is still compatible with u_long.
This is step one in migrating rman to use uintmax_t for resources instead of u_long.
Going forward, this could feasibly be used to specify architecture-specific definitions of resource ranges, rather than baking a specific integer type into the API.
This change has been broken out to facilitate MFC'ing drivers back to 10 without breaking ABI.
Reviewed By: jhb Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D5075
|
#
191299 |
|
19-Apr-2009 |
imp |
Cleanup resource allocation code a bit. Store the rids on the resources rather than on the softc. When we allocate resources for PC Card, if we only get 16 ports, try again to get the others.
|
#
191234 |
|
18-Apr-2009 |
imp |
Establish the interrupt handler AFTER we successfully attach. We need to do this in case we have a shared interrupt that fires during the attach process....
|
#
190794 |
|
07-Apr-2009 |
imp |
Provide a generic ifmedia set of routines as a fallback. The DP8390-based cards have no generic way of reporting status of the link or setting the media type. Some specific versions of these cards do, however, allow for this, and we already support some of them. Make the 'ed' experience more uniform by providing "autoselect" as the meida and status "active" always. This won't affect the chips that provide more specific details.
|
#
166901 |
|
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many Approved by: re@
|
#
158651 |
|
16-May-2006 |
phk |
Since DELAY() was moved, most <machine/clock.h> #includes have been unnecessary.
|
#
155874 |
|
21-Feb-2006 |
nyan |
Initialize the port_bst and port_bsh variables. The ed driver on pc98 was broken by if_edvar.h rev1.31.
Reported by: Kaho Toshikazu (kaho at elam kais kyoto-u ac jp) Tested by: Eiji Kato (ekato at a1 mbn or jp) MFC after: 3 days
|
#
154924 |
|
27-Jan-2006 |
imp |
Have a function pointer to the routine to call for writing an mbuf into the card's memory.
# this eliminates a more of the ifdef soup in if_ed and if_edvar
# I've fixed the cbus drivers, but can't test them all easily.
If I've broken anything, please let me know.
|
#
150136 |
|
14-Sep-2005 |
ru |
Make device_detach methods really work.
|
#
149609 |
|
30-Aug-2005 |
imp |
Add back dropped if_media.h include
|
#
149558 |
|
28-Aug-2005 |
imp |
Finish conversion to bus space and make ed MP safe.
o Lock ed o Fix extra newline in probe messages o Eliminate gone. o Make detach less-racy. o Eliminate spl* o Switch from timeout/untimeout to callout interface. o Read/write card memory using bus_space calls. o generalize readmem so that we don't need ifs in the code. o Fix memory stuff to be consistant. o Remove OLDCARD compat stuff. o Mark interrupt as MPSAFE.
# sic, hpp not tested at all # ISA and PCI attachments lightly tested
|
#
147256 |
|
10-Jun-2005 |
brooks |
Stop embedding struct ifnet at the top of driver softcs. Instead the struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com.
This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go.
Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr.
Reviewed by: sobomax, sam
|
#
141932 |
|
14-Feb-2005 |
imp |
Move the harvesting of the MAC address out of the generic novell probe and into the bus front ends. For ISA and C-BUS cards, we always need to grab it. For PC Card, already committed, we need to do some sanity checking on the data that's in the ROMs before we decide that they are OK to use. The PC Card code has already been committed and is independent of this code (which also has to work on NE-1000 cards, assuming that those cards still work :-).
|
#
141579 |
|
09-Feb-2005 |
imp |
Since we no longer use kvtop, we no longer need machine/md_var.h
|
#
141552 |
|
08-Feb-2005 |
imp |
Minor style cleanup. Get rid of extra {}, extra blank lines and some continued line indentation. Should be no functional changes.
|
#
141550 |
|
08-Feb-2005 |
imp |
o Remove ifdef PC98, since this file has diverged quite a bit from if_ed_isa.c, and they seem to not be helpful anymore. o Fix style issues from de-Pification. o change from _isa_ to _cbus_ to the largest extent possible to reflect that this is really for cbus, not isa. o Use ANSI function definitions. o Use ed_clear_memory o eliminate kvtop
|
#
141495 |
|
08-Feb-2005 |
imp |
use fixed types for the calls to ed_pio_readmem, ed_pio_writemem. Make the special hp versions match the general ones. Also use fixed types in the WD80x3_generic probe, and change callers' arrays to match. Fix a couple of minor style issues by using newstyle function definitions in a couple places.
|
#
141494 |
|
08-Feb-2005 |
imp |
Make it possible to unload ed. Move the ed_pccard_detach routine to if_ed and rename it to ed_detach(). Tell other busses to use this routine for detach.
Since I don't actually have any non-pccard ed hardware I can test with, I've only tested with my pccards.
More improvements in this area likely are possible.
Prodded by: rwatson
|
#
139749 |
|
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
#
137531 |
|
10-Nov-2004 |
nyan |
Fix build error with ED_DEBUG.
PR: kern/72753
|
#
121816 |
|
31-Oct-2003 |
brooks |
Replace the if_name and if_unit members of struct ifnet with new members if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance.
This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics.
Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
|
#
121118 |
|
15-Oct-2003 |
shiba |
Add Allied Telesis SIC-AT boards support. Discussed in from [FreeBSD-tech-jp 3396] to [FreeBSD-tech-jp 3407] at FreeBSD-tech-jp@jp.freebsd.org.
NOTE: We must put ed_probe_SIC() function into if_ed_isa.c because this is a bus dependent code. But the ed driver code is not separated explicitly whether it is bus dependent or independent now.
Refer to: http://plaza17.mbn.or.jp/~chi/myprog/FreeBSD/sicat.html Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
|
#
118557 |
|
06-Aug-2003 |
bde |
Don't use pessimal (u_short) types for i/o ports. This is mainly for completenss. The pessimization is tiny compared with i/o port slowness except on very old machines, but code that used signed short types for i/o ports was unpessimized long ago, and the macro that detected it recently started working for u_short types too. Use of bus space should have made this moot long ago.
Not tested at runtime by: bde
|
#
113506 |
|
15-Apr-2003 |
mdodd |
- Express hard dependencies on bus (pci, isa, pccard) and network layer (ether). - Don't abuse module names to facilitate ifconfig module loading; such abuse isn't really needed. (And if we do need type information associated with a module then we should make it explicit and not use hacks.)
|
#
112569 |
|
24-Mar-2003 |
jake |
- Add vm_paddr_t, a physical address type. This is required for systems where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long.
Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms.
Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
|
#
111427 |
|
24-Feb-2003 |
nyan |
Fix printf format error.
|
#
108533 |
|
01-Jan-2003 |
schweikh |
Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, especially in troff files.
|
#
92739 |
|
20-Mar-2002 |
alfred |
Remove __P.
|
#
70355 |
|
26-Dec-2000 |
imp |
Minor newbus/style(9) cleanups. o Move the ax88190 code to its own function. o Move all device_method_t, driver_t and DRIVER_MODULE definitions to the end of files. o Wrap a few lines > 80 characters. o Use the same devclass for all ed drivers. This allows machines with multiple types of cards to have their cards numbered correctly. Before, you could wind up with two ed0's. o Protect if_edvar.h from multiple includes because I was there.
|
#
69965 |
|
13-Dec-2000 |
imp |
Remove unnecessary includes found by phk's script. I've been building these locally for ages.
|
#
67172 |
|
15-Oct-2000 |
msmith |
Network modules are all "if_foo" not "foo". Avoid the confusing spew that ensues when ifconfig tries to load if_ed.ko when it's already in the kernel.
|
#
64777 |
|
17-Aug-2000 |
nyan |
- Fixed the conversion to bus_space interface. - Added PC-98 Cbus devices support. The original patch is submitted by chi@bd.mbn.or.jp (Chiharu Shibata) - Removed old ed driver.
|