DragonFly BSD

CVS log for src/sys/kern/subr_bus.c

[BACK] Up to [DragonFly] / src / sys / kern

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.46: download - view: text, markup, annotated - select for diffs
Fri Oct 3 00:26:21 2008 UTC (6 years ago) by hasso
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.45: preferred, unified
Changes since revision 1.45: +430 -0 lines
Welcome devctl(4) and devd(8).

Obtained-from: FreeBSD

Revision 1.45: download - view: text, markup, annotated - select for diffs
Tue Sep 30 12:20:29 2008 UTC (6 years ago) by hasso
Branches: MAIN
Diff to: previous 1.44: preferred, unified
Changes since revision 1.44: +135 -145 lines
The devinfo(3) library provides userspace access to the internal device
hierarchy. The devinfo(8) utility can be used to view that information.
Ported by Sascha Wildner.

Obtained-from: FreeBSD

Revision 1.44: download - view: text, markup, annotated - select for diffs
Mon Sep 29 06:59:45 2008 UTC (6 years ago) by hasso
Branches: MAIN
Diff to: previous 1.43: preferred, unified
Changes since revision 1.43: +17 -0 lines
Update acpi_battery(4) related code to the latest one from FreeBSD HEAD.

Obtained-from: FreeBSD

Revision 1.43: download - view: text, markup, annotated - select for diffs
Fri Sep 5 10:28:35 2008 UTC (6 years, 1 month ago) by hasso
Branches: MAIN
Diff to: previous 1.42: preferred, unified
Changes since revision 1.42: +41 -0 lines
acpi_cpu(4) update. It's now possible to use higher (lower power usage) C
states than C1 in modern (multicore) CPUs.

Obtained-from: FreeBSD

Revision 1.42: download - view: text, markup, annotated - select for diffs
Tue Sep 2 17:48:26 2008 UTC (6 years, 1 month ago) by hasso
Branches: MAIN
Diff to: previous 1.41: preferred, unified
Changes since revision 1.41: +24 -5 lines
Handle (unit == -1) case in the device_find_child() function as already used
by agp(4) and coretemp(4) code. Fixes unload/load cycle of the coretemp(4),
agp(4) has more problems.

Obtained-from: FreeBSD

Revision 1.41: download - view: text, markup, annotated - select for diffs
Sat Jan 5 13:30:33 2008 UTC (6 years, 9 months ago) by corecode
Branches: MAIN
CVS tags: DragonFly_RELEASE_2_0_Slip, DragonFly_RELEASE_2_0, DragonFly_RELEASE_1_12_Slip, DragonFly_RELEASE_1_12, DragonFly_Preview
Diff to: previous 1.40: preferred, unified
Changes since revision 1.40: +1 -1 lines
Don't let DS_BUSY buses block attachment of other devices.

DS_BUSY implies that the device has been in state DS_ATTACHED
before, so we need include DS_BUSY buses in the search as well.

Joint-work-with:  matthias@

Revision 1.40: download - view: text, markup, annotated - select for diffs
Wed Sep 12 07:59:31 2007 UTC (7 years, 1 month ago) by hasso
Branches: MAIN
Diff to: previous 1.39: preferred, unified
Changes since revision 1.39: +33 -0 lines
Add bus_alloc_resources() and bus_release_resources() functions to allow to
simplify the code and to make it easier to port drivers (initially the
agp(4)) from FreeBSD.

Obtained-from: FreeBSD

Revision 1.38.2.1: download - view: text, markup, annotated - select for diffs
Tue Jul 31 22:40:50 2007 UTC (7 years, 2 months ago) by dillon
Branches: DragonFly_RELEASE_1_10
CVS tags: DragonFly_RELEASE_1_10_Slip
Diff to: previous 1.38: preferred, unified; next MAIN 1.39: preferred, unified
Changes since revision 1.38: +5 -4 lines
Synchronize all changes made in HEAD to date with the 1.10 release branch.

* usbdevs update
* header file fixes
* vinum root
* vinum device I/O fixes
* MD fixes
* New PCI ids for netif rum and ural
* New USB uplcom ids
* linux exec memory leak
* devclass ordering fixes (sound devices)
* rate-limited kprintf support (filesystem full console spams)
* msdosfs fixes
* Manual page work

Revision 1.39: download - view: text, markup, annotated - select for diffs
Tue Jul 31 20:47:14 2007 UTC (7 years, 2 months ago) by corecode
Branches: MAIN
Diff to: previous 1.38: preferred, unified
Changes since revision 1.38: +5 -4 lines
Reorder initialization sequence of devclasses.

This fixes a panic triggered by the use of the devclass of a driver
during the attachment of this driver.

Reported-by:  Wesley Hearn <wesley.hearn@gmail.com>
Reviewed-by:  dillon

Revision 1.38: download - view: text, markup, annotated - select for diffs
Sat May 5 16:52:55 2007 UTC (7 years, 5 months ago) by dillon
Branches: MAIN
Branch point for: DragonFly_RELEASE_1_10
Diff to: previous 1.37: preferred, unified
Changes since revision 1.37: +4 -7 lines
The bus_get_resource_list DEVMETHOD is primarily used to by PCI devices
to get a list of resources from their parent bus device.  The default
method should not just recurse up a randomly or a child might get
something really unexpected.  Instead, if the method is not supported,
NULL should be returned.

Obtained-from: FreeBSD
Suggestd-by: Martin <dragonfly@wommm.nl>

Revision 1.37: download - view: text, markup, annotated - select for diffs
Tue May 1 00:05:18 2007 UTC (7 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.36: preferred, unified
Changes since revision 1.36: +88 -2 lines
Implement kern.do_async_attach. default disabled.  To enable add
kern.do_async_attach="1" to your /boot/loader.conf.  This feature allows
conforming drivers to attach in their own thread, allowing multiple
drivers to attach in parallel.

Implement a new device state, DS_INPROGRESS.  Seems to work properly.
Implement device_set_async_attach(), which allows a device's probe
function to indicate that it is ok for its attach function to be run in
its own thread.

Split tsleep's enable out from the 'cold' variable. tsleep works earlier
then when cold is cleared.  Add a 'tsleep_now_works' variable to take
over the functionality.

Implement DRIVERSLEEP()... similar to DELAY(), this function works in
any context and will call lwkt_switch() in its spin loop.  It isn't perfect
yet.

ATA/NATA:
    * Uses the new async attach feature
    * Uses DRIVERSLEEP
    * No longer uses a configuration interrupt hook.  Interrupts are now
      available during device config.

    NOTE: atapicam does not seem to be scanning the 'bus' (from cam's point
    of view), so 'cd0' is not found until CAM scans the bus itself in the
    interrupt config hook code.

USB:
    * Uses the new async attach feature
    * Uses tsleep instead of DELAY

MISC:
    * IF_EM, IF_NFE also use the async attach feature as a test, but it
      doesn't seem to have a huge effect.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Apr 30 07:18:54 2007 UTC (7 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.35: preferred, unified
Changes since revision 1.35: +1 -1 lines
Revamp SYSINIT ordering.  Relabel sysinit IDs (SI_* in sys/kernel.h) to
make them less confusing, particularly with regard to the relative order
init routines are called in.

Reorder many sysinits.  Reorder the SMP and CLOCK code to bring all the
cpus up far earlier in the boot sequence and to make the full threading and
clocking subsystems available for device config.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Sat Dec 23 00:35:04 2006 UTC (7 years, 9 months ago) by swildner
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_8_Slip, DragonFly_RELEASE_1_8
Diff to: previous 1.34: preferred, unified
Changes since revision 1.34: +25 -25 lines
Rename printf -> kprintf in sys/ and add some defines where necessary
(files which are used in userland, too).

Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed Dec 20 18:14:41 2006 UTC (7 years, 10 months ago) by dillon
Branches: MAIN
Diff to: previous 1.33: preferred, unified
Changes since revision 1.33: +1 -1 lines
Rename sprintf  -> ksprintf
Rename snprintf -> knsprintf

Make allowances for source files that are compiled for both userland and
the kernel.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Mon Dec 18 20:41:01 2006 UTC (7 years, 10 months ago) by dillon
Branches: MAIN
Diff to: previous 1.32: preferred, unified
Changes since revision 1.32: +1 -1 lines
Rename kvprintf  -> kvcprintf (call-back version)
Rename vprintf   -> kvprintf
Rename vsprintf  -> kvsprintf
Rename vsnprintf -> kvsnprintf

Revision 1.32: download - view: text, markup, annotated - select for diffs
Wed Oct 25 20:56:02 2006 UTC (7 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.31: preferred, unified
Changes since revision 1.31: +2 -1 lines
Do a major clean-up of the BUSDMA architecture.  A large number of
essentially machine-independant drivers use the structures and definitions
in machine-dependant directories that are really machine-independant in
nature.

Split <machine/bus_dma.h> into machine-depdendant and machine-independant parts
and make the primary access run through <sys/bus_dma.h>.

Remove <machine/bus.h>, <machine/bus_memio.h> and <machine/bus_pio.h>.  The
optimizations related to bus_memio.h and bus_pio.h made a huge mess,
introduced machine-specific knowledge into essentially machine-independant
drivers, and required specific #include file orderings to do their job.
They may be reintroduced in some other form later on.

Move <machine/resource.h> to <sys/bus_resource.h>.  The contents of the file
is machine-independant or can be made a superset across many platforms.

Make <sys/bus.h> include <sys/bus_dma.h> and <sys/bus_resource.h> and
include <sys/bus.h> where necessary. Remove all #include's of
<machine/resource.h> and <machine/bus.h>.  That is, make the BUSDMA
infrastructure integral to I/O-mapped and memory-mapped accesses to devices
and remove a large chunk of machine-specific dependancies from drivers.
bus_if.h and device_if.h are now required to be present when using <sys/bus.h>.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Tue Sep 5 03:48:12 2006 UTC (8 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.30: preferred, unified
Changes since revision 1.30: +2 -2 lines
Rename malloc->kmalloc, free->kfree, and realloc->krealloc.  Pass 2

Revision 1.30: download - view: text, markup, annotated - select for diffs
Tue Sep 5 00:55:45 2006 UTC (8 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.29: preferred, unified
Changes since revision 1.29: +29 -29 lines
Rename malloc->kmalloc, free->kfree, and realloc->krealloc.  Pass 1

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sun Oct 30 04:41:15 2005 UTC (8 years, 11 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_6_Slip, DragonFly_RELEASE_1_6, DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4
Diff to: previous 1.28: preferred, unified
Changes since revision 1.28: +87 -12 lines
Add another parameter to BUS_ADD_CHILD to allow children to inherit
code from grandparents.

Formalize and document the IDENTIFY mechanism and actually use it properly
to add PCI busses rather then the severe hacks that existed before.

Instead of attaching PCI busses (pcib) directly to nexus, create a pass-through
bus layer under nexus called 'legacypci' and attach the PCI busses to that.
Use the new BUS_ADD_CHILD and IVARS recursion capability to still allow
the pcib's under legacypci to get nexus generated IVARS.

NOTE ON IVARS:  These can be utterly confusing because a BUS device may
manage and control the IVARS attached to its children.  In addition, if the
BUS method for the device accessing the IVARs does not properly match up
with or recurse to the device that actually created the ivars, mass
confusion can result.  I have attempted to document the issue but XXX it
needs some sanity check code.

Add a 'pcib_owner' global that is used to determine which of the several
possible PCI mainbus subsystems actually own the PCI mainbus.  This is not
yet tied into ACPI but will be soon.  No longer add legacy "pcib" busses
if it is detected that another subsystem controls the mainbus.  Before
the busses were added but then simply not scanned later on, creating
confusing pcibX designations.  Now the busses aren't added... legacypci
stops cold if it doesn't own the PCI mainbus.  Get rid of the twisted
checks for "pci" devices that used to handle this job.

Document many aspects of the PCI code and redo some of the APIs slightly
to make them more obvious.  In particular, document the odd fact that
pci_*() accessor function actually operate on a pci function code based
sub-device of the "pci" driver and call device_get_parent() to get to the
pci" driver layer.  This sub layer really needs its own formal designation.

Change "pciX" attachments to "pcibY" busses.  Use the secondary bus id
for 'X' and require it to be unique.  Also reorder "pcibY" attachments
so the physical bus number tends to (but is not guarenteed to be) the
same 'Y' in pcibY.

Change IVARS access for bridges.  Require that the device representing the
"pcib" device be passed to pcib_get/set_*() routines instead of children
of said device.

Add a function devclass_find_unit() to shortcut the more complex operation
of locating the devclass by name and then getting the device relative to
the devclass.

Add numerous bus_generic_*() BUS methods which now recurse through the
parent instead of terminate with an error.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Fri Oct 28 03:25:57 2005 UTC (8 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.27: preferred, unified
Changes since revision 1.27: +82 -9 lines
Cleanup some of the newbus infrastructure.

* Change the device_identify API to return success/failure, like
  most of the other newbus methods.  This may be used for conflict
  resolution in the future.

* Clearly document the device_identify method and formalize its use
  by adding discrimination between initial bus probes and bus rescans.
  Do not re-execute static identification code that has already been run
  every time a new driver is added at run-time.

* Clearly document the do-ISA-last hack.

* Provide generic routines for the most common device_identify operations
  (psueo or synthesized devices that operate under other devices, such as
  lpt operating under ppbus, which are not 'scanned' by the parent bus).

* Remove the hacks that install and initialize the nexus device.  Instead,
  use the existing DRIVER_MODULE infrastructure to install nexus under
  root_bus.

* Document the boot-time initialization path so it doesn't take the next
  guy 8 hours to figure out what code is actually being run when.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Mon Jun 27 12:24:46 2005 UTC (9 years, 3 months ago) by joerg
Branches: MAIN
Diff to: previous 1.26: preferred, unified
Changes since revision 1.26: +1 -7 lines
Remove redundant verbosity. The description of the parent just costs space
in the dmesg buffer, it doesn't add any value since it was printed before.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Tue May 24 20:58:41 2005 UTC (9 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.25: preferred, unified
Changes since revision 1.25: +14 -9 lines
Get rid of bus_{disable,enable}_intr(), it wasn't generic enough for
our needs.

Implement some generic atomic.h functions to aid in the implementation of
a low level mutex.

Implement a generic low level sleep-mutex serializer, kern/lwkt_serialize.c.
The serializer is designed to be a replacement for SPL calls but may also
be used for other very low level work (e.g. lockmgr interlocks).

Add a serializer argument to BUS_SETUP_INTR().  When non-NULL, the interrupt
handler will no longer be protected by an SPL so e.g. spl*() will no
longer protect against that device's interrupts.

The IF queueing and dequeueing mechanisms may no longer depend on outside
SPL state because network driver interrupt handlers are no longer required to
enter splnet().  Use critical sections for the moment.  The IFQ and
IFF_OACTIVE interactions are not yet MP safe.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Mon May 23 18:19:54 2005 UTC (9 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.24: preferred, unified
Changes since revision 1.24: +28 -0 lines
Add NEWBUS infrastructure for interrupt enablement and disablement.  This
allows a device to indicate to the interrupt dispatch architecture that it
has enabled or disabled the device interrupt at the source.  The dispatch
will then decline to call the handler.   This is necessary because it is
possible for the interrupt handler to be called from the interrupt thread
AFTER the device has disabled the hard interrupt.   There are two cases:

    FIRST CASE:

	* hard interrupt occurs
	* interrupt thread is scheduled but cannot preempt
	* device disables interrupt
	* interrupt thread then runs handler while device believes interrupt to
	  be disabled.

    SECOND CASE:

	* multiple devices share the same interrupt (#1 and #2)
	* device #1 interrupts and schedules the thread
	* the handler for ALL devices is run, even if device #2 disabled
	  its hard interrupt.

Clean up and simplify the interrupt vector code.  Always install a MUX
function.  The MUX function will check the handler enablement/disablement
state.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Thu Feb 17 13:59:36 2005 UTC (9 years, 8 months ago) by joerg
Branches: MAIN
CVS tags: DragonFly_Stable, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2
Diff to: previous 1.23: preferred, unified
Changes since revision 1.23: +1 -1 lines
GCC supports two pseudo variables to get the function name, __FUNCTION__
and __func__. The latter is C99, prefer that.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Feb 4 03:32:37 2005 UTC (9 years, 8 months ago) by dillon
Branches: MAIN
Diff to: previous 1.22: preferred, unified
Changes since revision 1.22: +9 -3 lines
Revert the last device_print_child() change, it was too confusing to
display the device name after the attach because recursion can insert a
lot of other messages in there.

Instead, if -v is specified, generate a line before and after the attach
suitably marked [tentative] or [attached!].  This also has the advantage
of bracketing any recursion that occurs.

Keep the bootverbose printing of the device chain but get rid of the "ATTACH "
on the front.  It's obvious what it is and the attach message follows
directly now.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Feb 3 23:54:22 2005 UTC (9 years, 8 months ago) by dillon
Branches: MAIN
Diff to: previous 1.21: preferred, unified
Changes since revision 1.21: +24 -4 lines
Generate more useful -v information on the console during device attach.
The complete device chain is output prior to each attach.

The normal device_print_child() is now moved from before the attach
to after the attach so the correct resource information gets reported,
especially the correct IRQ.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Jul 8 12:43:32 2004 UTC (10 years, 3 months ago) by joerg
Branches: MAIN
CVS tags: DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004, DragonFly_1_0_REL, DragonFly_1_0A_REL
Diff to: previous 1.20: preferred, unified
Changes since revision 1.20: +1 -0 lines
Add PDEBUG call for device_shutdown.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Mon Jun 21 05:57:57 2004 UTC (10 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_1_0_RC1
Diff to: previous 1.19: preferred, unified
Changes since revision 1.19: +1 -1 lines
gcc-3.4 cleanups.  Add missing break statements, deal with goto labels,
and adjust the use of __FUNCTION__ (string concat is no longer supported).

Revision 1.19: download - view: text, markup, annotated - select for diffs
Wed Jun 2 15:25:01 2004 UTC (10 years, 4 months ago) by hmp
Branches: MAIN
Diff to: previous 1.18: preferred, unified
Changes since revision 1.18: +2 -0 lines
Plug a memory leak when the kernel initialiazes config_devtab resources
in resource_new_name().

PR:      	kern/33344 (FreeBSD GNATS)
Patch-by: 	David Xu <davidxu at freebsd.org>

Revision 1.18: download - view: text, markup, annotated - select for diffs
Mon May 10 10:51:31 2004 UTC (10 years, 5 months ago) by hmp
Branches: MAIN
Diff to: previous 1.17: preferred, unified
Changes since revision 1.17: +1 -1 lines
Remove newline from panic(9) message, it is redundant.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Thu Apr 15 13:31:41 2004 UTC (10 years, 6 months ago) by joerg
Branches: MAIN
Diff to: previous 1.16: preferred, unified
Changes since revision 1.16: +93 -66 lines
KObj extension stage IIIb/III

Merge inheritance support from FreeBSD:
  * Add a simpler form of 'inheritance' for devclasses. Each devclass can
    have a parent devclass. Searches for drivers continue up the chain of
    devclasses until either a matching driver is found or a devclass is
    reached which has no parent. This can allow, for instance, pci drivers
    to match cardbus devices (assuming that cardbus declares pci as its
    parent devclass).

Revision 1.16: download - view: text, markup, annotated - select for diffs
Thu Apr 1 08:41:24 2004 UTC (10 years, 6 months ago) by joerg
Branches: MAIN
Diff to: previous 1.15: preferred, unified
Changes since revision 1.15: +2 -6 lines
KObj extension stage I/III

Isolate the reference counting for kobj classes in special functions to
allow clean locking in the next step.

Merge all calls of kobj_class_compile either into the new
kobj_class_instantiate or into kobj_init and make it static. Same for
kobj_class_free.

Remove kobj_class_compile_static, it wasn't used and is pretty pointless
since the kobj framework is not used before the VM subsystem has been
initialized.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Wed Mar 31 16:39:20 2004 UTC (10 years, 6 months ago) by joerg
Branches: MAIN
Diff to: previous 1.14: preferred, unified
Changes since revision 1.14: +18 -16 lines
M_NOWAIT => M_INTWAIT conversion. This subsystems are way too crucial to
have failing memory allocations. At least some of same are handled via
panic anyway.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Mar 13 14:38:22 2004 UTC (10 years, 7 months ago) by joerg
Branches: MAIN
Diff to: previous 1.13: preferred, unified
Changes since revision 1.13: +32 -0 lines
Add convient functions for the bus interface: child_present,
child_pnpinfo_str, child_location_str.

From FreeBSD.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Mon Mar 1 16:57:44 2004 UTC (10 years, 7 months ago) by joerg
Branches: MAIN
Diff to: previous 1.12: preferred, unified
Changes since revision 1.12: +970 -993 lines
Make subr_bus.c more consistent with regard to style(9) and itself.

- adjust the 4 space indentation in the oldest parts
- use return(value) form
- move returns into the default case of certain switch statements
- make some pointer checks explicit against NULL
- reorder device_probe_and_attach to simplify the if's
- remove unnecessary return; at the end of functions

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Feb 21 06:37:08 2004 UTC (10 years, 8 months ago) by dillon
Branches: MAIN
Diff to: previous 1.11: preferred, unified
Changes since revision 1.11: +134 -6 lines
Synchronize a bunch of things from FreeBSD-5 in preparation for the new
ACPICA driver support.

* Bring in a lot of new bus and pci DEV_METHODs from FreeBSD-5
* split apic.h into apicreg.h and apicio.h
* rename INTR_TYPE_FAST -> INTR_FAST and move the #define
* rename INTR_TYPE_EXCL -> INTR_EXCL and move the #define
* rename some PCIR_ registers and add additional macros from FreeBSD-5
* note: new pcib bus call, host_pcib_get_busno() imported.
* kern/subr_power.c no longer optional.

Other changes:

* machine/smp.h machine smp/smptests.h can now be #included unconditionally,
  and some APIC_IO vs SMP separation has been done as well.
* gd_acpi_id and gd_apic_id added to machine/globaldata.h prep for new
  ACPI code.

Despite all the changes, the generated code should be virtually the same.
These were mostly additions which the pre-existing code does not (yet) use.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Feb 16 18:48:03 2004 UTC (10 years, 8 months ago) by joerg
Branches: MAIN
Diff to: previous 1.10: preferred, unified
Changes since revision 1.10: +6 -0 lines
Add device_is_attached to allow a driver to check wether a given device
was or was not succesfully attached to the device tree.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Fri Feb 6 23:09:36 2004 UTC (10 years, 8 months ago) by joerg
Branches: MAIN
Diff to: previous 1.9: preferred, unified
Changes since revision 1.9: +6 -0 lines
Adjust infrastructure for NEWCARD

Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Nov 18 05:10:31 2003 UTC (10 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.8: preferred, unified
Changes since revision 1.8: +35 -35 lines
Sync TAILQ_FOREACH work from 5.x.  The closer we can get this file to 5.x
the better.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Tue Nov 18 05:02:40 2003 UTC (10 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.7: preferred, unified
Changes since revision 1.7: +11 -21 lines
Use M_ZERO instead of manually bzero()ing memory allocated with malloc().

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Nov 18 04:58:19 2003 UTC (10 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.6: preferred, unified
Changes since revision 1.6: +6 -4 lines
Correct several bugs.  If we fail to add a device be sure to delete its kobj.
Remove a double kobj_init() call in make_device().  Replace a manual
free() with a kobj_delete() call, and delete a kobj before reinitializing
it.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Nov 17 21:24:15 2003 UTC (10 years, 11 months ago) by asmodai
Branches: MAIN
Diff to: previous 1.5: preferred, unified
Changes since revision 1.5: +3 -3 lines
Fix misplacement of code.  Due to additional DF code everything got
shifted one position, including the main condition, which was wrong.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Nov 17 00:54:40 2003 UTC (10 years, 11 months ago) by asmodai
Branches: MAIN
Diff to: previous 1.4: preferred, unified
Changes since revision 1.4: +31 -213 lines
Factor out the object system from new-bus so that it can be used by
non-device code.

Re-implement the method dispatch to improve efficiency. The new system
takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns
slower than a direct function call on the same hardware.

This is all based on Doug Rabson's work in April and May of 2000.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Sun Nov 9 02:22:36 2003 UTC (10 years, 11 months ago) by dillon
Branches: MAIN
Diff to: previous 1.3: preferred, unified
Changes since revision 1.3: +4 -4 lines
Core integer types header file reorganization stage 1/2: Create and/or modify
intttypes.h and stdint.h plus the opaque underlying support in sys/ and
machine/ according to the OpenGroup specifications.

These changes are loosely based on FreeBSD-5 but use far saner type names
and include dependancies.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sun Jul 6 21:23:51 2003 UTC (11 years, 3 months ago) by dillon
Branches: MAIN
Diff to: previous 1.2: preferred, unified
Changes since revision 1.2: +9 -3 lines
MP Implementation 1/2: Get the APIC code working again, sweetly integrate the
MP lock into the LWKT scheduler, replace the old simplelock code with
tokens or spin locks as appropriate.  In particular, the vnode interlock
(and most other interlocks) are now tokens.  Also clean up a few curproc/cred
sequences that are no longer needed.

The APs are left in degenerate state with non IPI interrupts disabled as
additional LWKT work must be done before we can really make use of them,
and FAST interrupts are not managed by the MP lock yet.  The main thing
for this stage was to get the system working with an APIC again.

buildworld tested on UP and 2xCPU/MP (Dell 2550)

Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Jun 17 04:28:41 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: PRE_MP
Diff to: previous 1.1: preferred, unified
Changes since revision 1.1: +1 -0 lines
Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids.  Most
ids have been removed from !lint sections and moved into comment sections.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Jun 17 02:55:02 2003 UTC (11 years, 4 months ago) by dillon
Branches: MAIN
CVS tags: FREEBSD_4_FORK
import from FreeBSD RELENG_4 1.54.2.9

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options