11 years ago[aoe] Rename aoe__mount_targets to AOE_S_MOUNT_TARGETS
Shao Miller [Sun, 2 Jan 2011 05:00:30 +0000 (00:00 -0500)]
[aoe] Rename aoe__mount_targets to AOE_S_MOUNT_TARGETS

11 years ago[header,aoe] Rename winvblock__literal* and abft
Shao Miller [Sun, 2 Jan 2011 04:55:35 +0000 (23:55 -0500)]
[header,aoe] Rename winvblock__literal* and abft

Unfortunately, this should actually be two separate

Rename winvblock__literal to WVL_M_LIT.  Rename
winvblock__literal_w to WVL_M_WLIT.

Rename abft to AOE_S_ABFT.

11 years ago[header] Rename winvblock__lib_func to WVL_M_LIB
Shao Miller [Sun, 2 Jan 2011 04:32:16 +0000 (23:32 -0500)]
[header] Rename winvblock__lib_func to WVL_M_LIB

11 years ago[header] Change #include guard
Shao Miller [Sun, 2 Jan 2011 04:26:43 +0000 (23:26 -0500)]
[header] Change #include guard

Shao Miller [Sun, 2 Jan 2011 04:24:47 +0000 (23:24 -0500)]

11 years ago[bus] Rename WV_F_BUS_WORK_ITEM to WVL_F_BUS_WORK_ITEM
Shao Miller [Sun, 2 Jan 2011 04:22:41 +0000 (23:22 -0500)]

11 years ago[bus] Rename WV_S_BUS_NODE to WVL_S_BUS_NODE
Shao Miller [Sun, 2 Jan 2011 04:18:11 +0000 (23:18 -0500)]
[bus] Rename WV_S_BUS_NODE to WVL_S_BUS_NODE

11 years ago[bus] Rename WV_S_BUS_T to WVL_S_BUS_T
Shao Miller [Sun, 2 Jan 2011 04:14:10 +0000 (23:14 -0500)]
[bus] Rename WV_S_BUS_T to WVL_S_BUS_T

11 years ago[bus] Rename WV_E_BUS_STATE to WVL_E_BUS_STATE
Shao Miller [Sun, 2 Jan 2011 04:07:41 +0000 (23:07 -0500)]

Along with enumeration values from WvBusState*
to WvlBusState*.

11 years ago[bus] Rename WV_F_BUS_PNP to WVL_F_BUS_PNP
Shao Miller [Sun, 2 Jan 2011 04:04:03 +0000 (23:04 -0500)]
[bus] Rename WV_F_BUS_PNP to WVL_F_BUS_PNP

11 years ago[bus] Rename WV_F_BUS_THREAD to WVL_F_BUS_THREAD
Shao Miller [Sun, 2 Jan 2011 04:02:06 +0000 (23:02 -0500)]

11 years ago[bus] Change #include guard
Shao Miller [Sun, 2 Jan 2011 03:57:33 +0000 (22:57 -0500)]
[bus] Change #include guard

It's quite possible that I'll never settle on a naming

WVL_* and Wvl* for WinVBlock library stuff.  Then we
can remove the underscore suffix convention, which has
so far been in place to denote functions and objects
with translation unit-internal linkage.  Since these
outnumber those which are library exports, it might
make more sense to denote library exports.

11 years ago[aoe] Add disks to the AoE bus
Shao Miller [Sun, 2 Jan 2011 03:27:57 +0000 (22:27 -0500)]
[aoe] Add disks to the AoE bus

Instead of the WinVBlock bus.

11 years ago[aoe] Process bus work items in thread
Shao Miller [Sun, 2 Jan 2011 02:41:12 +0000 (21:41 -0500)]
[aoe] Process bus work items in thread

11 years ago[aoe] Fix UNICODE_STRING initialization
Shao Miller [Sun, 2 Jan 2011 02:25:31 +0000 (21:25 -0500)]
[aoe] Fix UNICODE_STRING initialization

11 years ago[driver] Fix UNICODE_STRING initialization
Shao Miller [Sun, 2 Jan 2011 02:25:15 +0000 (21:25 -0500)]
[driver] Fix UNICODE_STRING initialization

11 years ago[util] Use appropriate bus for each command
Shao Miller [Sun, 2 Jan 2011 02:00:35 +0000 (21:00 -0500)]
[util] Use appropriate bus for each command

AoE commands should send IOCTLs to the AoE bus and
WinVBlock commands should be sent to its bus.

11 years ago[util] Show error messages instead of error codes
Shao Miller [Sun, 2 Jan 2011 00:02:56 +0000 (19:02 -0500)]
[util] Show error messages instead of error codes

11 years ago[util] Don't use command_decl macro
Shao Miller [Sat, 1 Jan 2011 23:39:15 +0000 (18:39 -0500)]
[util] Don't use command_decl macro

And dont pass boot_bus around, just make it a global.

11 years ago[util] Minor, cosmetic changes
Shao Miller [Fri, 31 Dec 2010 22:37:06 +0000 (17:37 -0500)]
[util] Minor, cosmetic changes

11 years ago[util] Rename mount.c to winvblk.c
Shao Miller [Fri, 31 Dec 2010 21:48:37 +0000 (16:48 -0500)]
[util] Rename mount.c to winvblk.c

It's a bit more than just a mounting utility, perhaps.

11 years ago[util] Fix LIB path in MAKEUTILS.BAT
Shao Miller [Fri, 31 Dec 2010 21:43:45 +0000 (16:43 -0500)]
[util] Fix LIB path in MAKEUTILS.BAT

11 years ago[aoe] Use floating FDO strategy
Shao Miller [Fri, 31 Dec 2010 21:10:49 +0000 (16:10 -0500)]
[aoe] Use floating FDO strategy

The idea is:

The AoE bus and its FDO will be created during
driver startup.  It won't be attached to any PDO.
Having a device should prevent the AoE driver from
being subsequently unloaded.

The AoE thread will be started during driver startup.
The thread will request a PDO from WinVBlock.

When the PDO is associated with the AoE driver, either
through a CriticalDeviceDatabase entry or via .INF and
the setup API, the "floating" FDO for the AoE bus will
then be attached to the device tree. :)

To do: We need to handle removal and unload.  We should
remove the dummy PDO we requested of WinVBlock.

11 years ago[bus] Rename PhysicalDeviceObject member to Pdo
Shao Miller [Fri, 31 Dec 2010 20:24:07 +0000 (15:24 -0500)]
[bus] Rename PhysicalDeviceObject member to Pdo

11 years ago[bus,driver] Revisit driver unload and thread exit
Shao Miller [Fri, 31 Dec 2010 20:05:10 +0000 (15:05 -0500)]
[bus,driver] Revisit driver unload and thread exit

These changes allow for some really nice test successes
for starting the service, updating the driver, uninstalling,
using the Add Hardware Wizard, etc.

11 years ago[driver] Wait for bus thread to terminate on unload
Shao Miller [Fri, 31 Dec 2010 12:19:01 +0000 (07:19 -0500)]
[driver] Wait for bus thread to terminate on unload

11 years ago[driver] Do not create the bus PDO again and again
Shao Miller [Fri, 31 Dec 2010 12:00:07 +0000 (07:00 -0500)]
[driver] Do not create the bus PDO again and again

Long overdue, we now check a 'PdoDone' Registry DWORD
value to determine if we should create a root-enumerated
PDO for our bus.

To do: Create this Registry value as part of the .INF
for when the bus is installed using the Add Hardware
Wizard or devcon.exe.

11 years ago[registry] Add WvlRegFetchDword function
Shao Miller [Fri, 31 Dec 2010 11:37:07 +0000 (06:37 -0500)]
[registry] Add WvlRegFetchDword function

11 years ago[registry] Cosmetic touch-ups
Shao Miller [Fri, 31 Dec 2010 11:19:46 +0000 (06:19 -0500)]
[registry] Cosmetic touch-ups

It's possibly more than cosmetic, but hopefully not.

Also, a typo of STDCALL in WvDriverBusEstablish_ is
fixed.  I'm not sure how that snuck past the build test.

11 years ago[driver] Rename driver__create_bus_ to WvDriverBusEstablish_
Shao Miller [Fri, 31 Dec 2010 09:54:58 +0000 (04:54 -0500)]
[driver] Rename driver__create_bus_ to WvDriverBusEstablish_

11 years ago[driver,aoe] Use WV_S_DRIVER_DUMMY_IDS for PnP ID queries
Shao Miller [Fri, 31 Dec 2010 08:59:20 +0000 (03:59 -0500)]
[driver,aoe] Use WV_S_DRIVER_DUMMY_IDS for PnP ID queries

Fix sizeof usage with WCHAR (oops).

Change WvDriverAddDummy() to take a WV_S_DRIVER_DUMMY_IDS
instead of a function pointer.

The AoE sub-bus is starting to behave better.  Now it's
time to address the challenge of duplicate PDO creation.

11 years ago[aoe/bus] Generate a WV_S_DRIVER_DUMMY_IDS instance
Shao Miller [Fri, 31 Dec 2010 07:39:02 +0000 (02:39 -0500)]
[aoe/bus] Generate a WV_S_DRIVER_DUMMY_IDS instance

11 years ago[driver] Introduce WV_S_DRIVER_DUMMY_IDS and related
Shao Miller [Fri, 31 Dec 2010 07:38:26 +0000 (02:38 -0500)]
[driver] Introduce WV_S_DRIVER_DUMMY_IDS and related

Introduce a structure for carrying around PnP IDs.  It uses
offsets and lengths into a referenced static WCHAR array.

Included in this commit are macros for generating an
instance of such a structure, using x-macros.

Also included is WvDriverDummyIds() which will handle a

11 years ago[aoe] Add explicit IRP dispatch, AddDevice routines
Shao Miller [Fri, 31 Dec 2010 04:45:17 +0000 (23:45 -0500)]
[aoe] Add explicit IRP dispatch, AddDevice routines

Lots of copying and pasting in this commit.  The idea is
to make the AoE driver slightly less dependent on the
WinVBlock driver.  We will request a PDO of the WinVBlock
bus, then when our driver's AddDevice callback is invoked
on that PDO, we establish the FDO and our AoE bus.

We will handle IRPs with our own IRP dispatch functions.
For bus IRPs, we use the WinVBlock bus library or our own
IRP_MJ_DEVICE_CONTROL handling.  For disk IRPs, we continue
to use the WinVBlock device and disk structures.

We aren't quite functional yet, as the PnpId logic needs to
be revisited.  If the AoE driver is unloaded after it has
created a PDO on the WinVBlock bus, a PnP ID query for that
PDO will attempt to call the PnpId routine in the unloaded
AoE driver (which is a bad thing).

11 years ago[driver] Remove unused dev_name local from driver__attach_fdo_
Shao Miller [Thu, 30 Dec 2010 20:44:00 +0000 (15:44 -0500)]
[driver] Remove unused dev_name local from driver__attach_fdo_

11 years ago[aoe] Produce a PDO for the sub-bus
Shao Miller [Thu, 30 Dec 2010 20:10:18 +0000 (15:10 -0500)]
[aoe] Produce a PDO for the sub-bus

Using WvDriverAddDummy()

11 years ago[driver] Introduce the dummy device feature
Shao Miller [Thu, 30 Dec 2010 20:09:34 +0000 (15:09 -0500)]
[driver] Introduce the dummy device feature

A driver can use WvDriverAddDummy() to produce a PDO on
the main WinVBlock bus.  The key point is that the PDO
will respond to PnP ID queries using a handler provided
by whichever driver calls WvDriverAddDummy().  This allows
for a driver to produce PDOs with arbitrary PnP IDs, which
is perhaps a bit better than IoReportDetectedDevice() for
our purposes.  The AoE driver could produce a bus PDO
using this technique, then attach an FDO to it.

11 years ago[bus] Add custom work items to WvBusProcessWorkItems
Shao Miller [Thu, 30 Dec 2010 14:58:21 +0000 (09:58 -0500)]
[bus] Add custom work items to WvBusProcessWorkItems

To be honest, a bus probably shouldn't be particularly
concerned with providing a default thread; it should be
up to the driver using the bus to ensure a single,
controlling thread for those operations which deal with
subjects such as the list of child nodes on the bus.

But for now, since there's already a mechanism in place
to enqueue work items for execution in a bus'
controlling thread, we abuse it to allow a driver to
enqueue their own driver-specific work item.  Use the
new WvBusEnqueueCustomWorkItem() function and the new

This might change at some point, such as if thread
subject matter is removed from the bus library.

11 years ago[wv_st*] dos2unix these files
Shao Miller [Thu, 30 Dec 2010 14:04:58 +0000 (09:04 -0500)]
[wv_st*] dos2unix these files

11 years ago[device] Remove unused next_sibling_ptr
Shao Miller [Thu, 30 Dec 2010 13:54:45 +0000 (08:54 -0500)]
[device] Remove unused next_sibling_ptr

At long last.  Now WV_S_DEV_T contains a bus node so it
can be directly used to attach a device to a bus, as well
as getting the device from a node using CONTAINING_RECORD().

11 years ago[bus] Remove unused first_child member for WV_S_BUS_T
Shao Miller [Thu, 30 Dec 2010 13:34:25 +0000 (08:34 -0500)]
[bus] Remove unused first_child member for WV_S_BUS_T

At long last.  The bus library no longer depends on the
device.h header file and the WinVBlock device specifics.

11 years ago[aoe] Use node iteration strategy in AoeBusDevCtlShow
Shao Miller [Thu, 30 Dec 2010 13:32:25 +0000 (08:32 -0500)]
[aoe] Use node iteration strategy in AoeBusDevCtlShow

Which was formerly aoe__show()

11 years ago[bus] Add WvBusGetNodeCount function
Shao Miller [Thu, 30 Dec 2010 12:06:36 +0000 (07:06 -0500)]
[bus] Add WvBusGetNodeCount function

11 years ago[bus/pnp] Remove first_child usage
Shao Miller [Thu, 30 Dec 2010 04:26:20 +0000 (23:26 -0500)]
[bus/pnp] Remove first_child usage

Use the bus node iteration, only.

11 years ago[driver] Re-work WvDriverBusDevCtlDetach_ logic
Shao Miller [Thu, 30 Dec 2010 04:15:07 +0000 (23:15 -0500)]
[driver] Re-work WvDriverBusDevCtlDetach_ logic

Use a bus node iteration strategy intstead of the previous
walking of first_child, etc.

11 years ago[bus] Add WvBusGetNodePdo function
Shao Miller [Thu, 30 Dec 2010 04:00:46 +0000 (23:00 -0500)]
[bus] Add WvBusGetNodePdo function

11 years ago[bus] Add WvBusGetNextNode function
Shao Miller [Thu, 30 Dec 2010 03:35:55 +0000 (22:35 -0500)]
[bus] Add WvBusGetNextNode function

Pass NULL for PrevNode to begin iteration.

11 years ago[bus] Add WvBusGetNodeNum function
Shao Miller [Thu, 30 Dec 2010 02:32:30 +0000 (21:32 -0500)]
[bus] Add WvBusGetNodeNum function

A bus node (WV_S_BUS_NODE) should be treated as an opaque
type that only the bus library knows how to manipulate,
but we still need to work with a node's unit number.

11 years agoRevert "[httpdisk] Apply WinVBlock-as-usual indentation"
Shao Miller [Wed, 29 Dec 2010 19:19:16 +0000 (14:19 -0500)]
Revert "[httpdisk] Apply WinVBlock-as-usual indentation"

This reverts commit 2549ed2921c3d63e38a609da89acb16101fdd0c9.

11 years ago[bus] Remove Dev member from WV_S_BUS_T
Shao Miller [Wed, 29 Dec 2010 19:06:12 +0000 (14:06 -0500)]
[bus] Remove Dev member from WV_S_BUS_T

If a driver wishes to implement a bus without using
the WV_S_DEV_T structure, they can now do so.

11 years ago[bus] Don't handle IRP_MJ_PNP IRP_MN_QUERY_ID
Shao Miller [Wed, 29 Dec 2010 18:42:14 +0000 (13:42 -0500)]
[bus] Don't handle IRP_MJ_PNP IRP_MN_QUERY_ID

We'll handle this at some point later, but the main bus
didn't support it anyway with an actual function to
provide IDs with.  The AoE bus does, but how it's put
together is going to change, anyway.

11 years ago[bus,driver] Move WvBusPnpQueryDevText_ as WvDriverBusPnpQueryDevText_
Shao Miller [Wed, 29 Dec 2010 18:37:01 +0000 (13:37 -0500)]
[bus,driver] Move WvBusPnpQueryDevText_ as WvDriverBusPnpQueryDevText_

11 years ago[bus] Add QueryDevText member to WV_S_BUS_T
Shao Miller [Wed, 29 Dec 2010 18:26:22 +0000 (13:26 -0500)]
[bus] Add QueryDevText member to WV_S_BUS_T

A driver implementing a bus should be responsible for

11 years ago[bus/pnp] Remove unused local from WvBusPnpQueryDevRelations_
Shao Miller [Wed, 29 Dec 2010 14:58:52 +0000 (09:58 -0500)]
[bus/pnp] Remove unused local from WvBusPnpQueryDevRelations_

11 years ago[bus/pnp] Remove Dev usage from WvBusPnpRemoveDev_
Shao Miller [Wed, 29 Dec 2010 14:45:30 +0000 (09:45 -0500)]
[bus/pnp] Remove Dev usage from WvBusPnpRemoveDev_

11 years ago[bus] Track state in WV_S_BUS_T
Shao Miller [Wed, 29 Dec 2010 13:55:11 +0000 (08:55 -0500)]
[bus] Track state in WV_S_BUS_T

Instead of in the WV_S_DEV_T structure (for a bus only).

11 years ago[bus/pnp] Use LowerDeviceObject in WvBusPnpQueryCapabilities_
Shao Miller [Wed, 29 Dec 2010 06:08:04 +0000 (01:08 -0500)]
[bus/pnp] Use LowerDeviceObject in WvBusPnpQueryCapabilities_

11 years ago[bus] Use Fdo member instead of Dev.Self
Shao Miller [Wed, 29 Dec 2010 05:56:26 +0000 (00:56 -0500)]
[bus] Use Fdo member instead of Dev.Self

Still removing WV_S_DEV_T details from the bus library.

11 years ago[bus] Remove unused WvBusDevInit_ function
Shao Miller [Wed, 29 Dec 2010 05:52:43 +0000 (00:52 -0500)]
[bus] Remove unused WvBusDevInit_ function

The WV_S_DEV::Ops.Init function is only called during PDO
creation for a bus' child node, so it doesn't apply to a
bus (whose PDO we don't own).

11 years ago[device] Add NULL checks to various Ops functions
Shao Miller [Wed, 29 Dec 2010 05:45:38 +0000 (00:45 -0500)]
[device] Add NULL checks to various Ops functions

11 years ago[bus] Remove unused WvBusFromDev function
Shao Miller [Wed, 29 Dec 2010 05:39:36 +0000 (00:39 -0500)]
[bus] Remove unused WvBusFromDev function

11 years ago[driver] Use static bus in bus IRP handlers
Shao Miller [Wed, 29 Dec 2010 05:38:12 +0000 (00:38 -0500)]
[driver] Use static bus in bus IRP handlers

11 years ago[driver] Remove driver__bus
Shao Miller [Wed, 29 Dec 2010 05:35:51 +0000 (00:35 -0500)]
[driver] Remove driver__bus

The main bus should be accessed via the WvDriverBus* functions.

11 years ago[disk/pnp] Remove bus usage from disk_pnp__query_capabilities_
Shao Miller [Wed, 29 Dec 2010 05:14:32 +0000 (00:14 -0500)]
[disk/pnp] Remove bus usage from disk_pnp__query_capabilities_

11 years ago[driver] Use IRP_MJ_* table for main bus
Shao Miller [Wed, 29 Dec 2010 05:07:44 +0000 (00:07 -0500)]
[driver] Use IRP_MJ_* table for main bus

We had the main bus device's IrpMj pointing nowhere.

11 years ago[bus,driver] Move WvBusGetDevCapabilities as WvDriverGetDevCapabilities
Shao Miller [Wed, 29 Dec 2010 04:51:26 +0000 (23:51 -0500)]
[bus,driver] Move WvBusGetDevCapabilities as WvDriverGetDevCapabilities

There is nothing really bus-specific about the function.

11 years ago[driver] Use the static bus in detach function
Shao Miller [Wed, 29 Dec 2010 04:33:12 +0000 (23:33 -0500)]
[driver] Use the static bus in detach function

Also rename WvDriverBusDevCtlDiskDetach() to

11 years ago[disk,device] Move BootDrive as Boot property
Shao Miller [Wed, 29 Dec 2010 04:15:40 +0000 (23:15 -0500)]
[disk,device] Move BootDrive as Boot property

Remove the BootDrive boolean from WV_S_DISK_T and into
WV_S_DEV_T.  Devices established at boot time should
have this set to TRUE.

11 years ago[bus] Remove unused WvBusIrpMj_
Shao Miller [Tue, 28 Dec 2010 22:37:15 +0000 (17:37 -0500)]
[bus] Remove unused WvBusIrpMj_

The WinVBlock driver establishes the IRP handlers now.

11 years ago[bus/dev_ctl,driver] Move IRP_MJ_DEVICE_CONTROL handler
Shao Miller [Tue, 28 Dec 2010 22:35:19 +0000 (17:35 -0500)]
[bus/dev_ctl,driver] Move IRP_MJ_DEVICE_CONTROL handler

A driver using the bus library should implement their own
IRP_MJ_DEVICE_CONTROL handler for a bus instance; these
device controls will be driver-specific.

11 years ago[bus] Remove WvBusFree_ and WvBusThreadFree_
Shao Miller [Tue, 28 Dec 2010 21:59:42 +0000 (16:59 -0500)]
[bus] Remove WvBusFree_ and WvBusThreadFree_

Since we use a static bus, we don't free anything.

11 years ago[bus] Remove WvBusCreatePdo_
Shao Miller [Tue, 28 Dec 2010 21:51:04 +0000 (16:51 -0500)]
[bus] Remove WvBusCreatePdo_

We'll never really use it.

11 years ago[aoe] Fix up extern and use static bus in aoe__show
Shao Miller [Tue, 28 Dec 2010 21:41:44 +0000 (16:41 -0500)]
[aoe] Fix up extern and use static bus in aoe__show

11 years ago[bus] Use the static bus in AoeBusDevCtlDispatch_
Shao Miller [Tue, 28 Dec 2010 21:37:08 +0000 (16:37 -0500)]
[bus] Use the static bus in AoeBusDevCtlDispatch_

11 years ago[aoe/bus] Use static bus for the AoE bus
Shao Miller [Tue, 28 Dec 2010 21:01:59 +0000 (16:01 -0500)]
[aoe/bus] Use static bus for the AoE bus

11 years ago[driver,bus] Move WvBusAddChild as WvDriverBusAddDev
Shao Miller [Tue, 28 Dec 2010 20:04:35 +0000 (15:04 -0500)]
[driver,bus] Move WvBusAddChild as WvDriverBusAddDev

Trying to move WV_S_DEV_T usage out of the bus module.

11 years ago[disk] Remove prev_free member
Shao Miller [Fri, 24 Dec 2010 15:30:09 +0000 (10:30 -0500)]
[disk] Remove prev_free member

Since the device structure is right inside the disk
structure, we shouldn't try to free the device data.

11 years ago[memdisk] Minor, cosmetic touch-ups
Shao Miller [Fri, 24 Dec 2010 15:25:00 +0000 (10:25 -0500)]
[memdisk] Minor, cosmetic touch-ups

11 years ago[disk] Put the device structure right in the disk structure
Shao Miller [Fri, 24 Dec 2010 15:02:24 +0000 (10:02 -0500)]
[disk] Put the device structure right in the disk structure

11 years ago[bus/pnp] Enumerate new child PDO node devices
Shao Miller [Fri, 24 Dec 2010 14:53:44 +0000 (09:53 -0500)]
[bus/pnp] Enumerate new child PDO node devices


11 years ago[bus] Initialize child PDO node list head
Shao Miller [Fri, 24 Dec 2010 14:52:38 +0000 (09:52 -0500)]
[bus] Initialize child PDO node list head

11 years ago[bus/pnp] Add new child PDO node removal logic
Shao Miller [Fri, 24 Dec 2010 01:53:59 +0000 (20:53 -0500)]
[bus/pnp] Add new child PDO node removal logic

To WvBusPnpRemoveDev_().  It will walk the new child PDO
node list and drop references for each PDO.

11 years ago[bus] Add an internal-use WvBusRemoveNode_ function
Shao Miller [Fri, 24 Dec 2010 01:43:51 +0000 (20:43 -0500)]
[bus] Add an internal-use WvBusRemoveNode_ function

Called by WvBusProcessWorkItems() to remove a node.

11 years ago[bus/pnp] Fix IRP_MJ_ typo in debug message
Shao Miller [Fri, 24 Dec 2010 01:30:00 +0000 (20:30 -0500)]
[bus/pnp] Fix IRP_MJ_ typo in debug message

11 years ago[bus/pnp] Enqueue IRP_MN_REMOVE_DEVICE
Shao Miller [Fri, 24 Dec 2010 01:29:04 +0000 (20:29 -0500)]
[bus/pnp] Enqueue IRP_MN_REMOVE_DEVICE

11 years ago[bus/pnp] Change functions to take bus parameter
Shao Miller [Thu, 23 Dec 2010 20:34:08 +0000 (15:34 -0500)]
[bus/pnp] Change functions to take bus parameter

Though there is still some use of WV_S_DEV_T within.

11 years ago[bus,driver] Put bus IRP_MJ_PNP handler in driver
Shao Miller [Thu, 23 Dec 2010 20:18:17 +0000 (15:18 -0500)]
[bus,driver] Put bus IRP_MJ_PNP handler in driver

11 years ago[bus,driver] Put bus IRP_MJ_POWER handler in driver
Shao Miller [Thu, 23 Dec 2010 17:15:57 +0000 (12:15 -0500)]
[bus,driver] Put bus IRP_MJ_POWER handler in driver

11 years ago[bus,driver] Put bus IRP_MJ_SYSTEM_CONTROL handler in driver
Shao Miller [Thu, 23 Dec 2010 17:07:38 +0000 (12:07 -0500)]
[bus,driver] Put bus IRP_MJ_SYSTEM_CONTROL handler in driver

If the bus library is going to be used by any driver, it should
be the driver's responsibility to dispatch IRPs to a bus using
an interface provided by the bus library.

11 years ago[driver] Use a static bus for the main bus
Shao Miller [Thu, 23 Dec 2010 16:14:43 +0000 (11:14 -0500)]
[driver] Use a static bus for the main bus

11 years ago[driver] Rename Driver_CompletePendingIrp to WvDriverCompletePendingIrp
Shao Miller [Thu, 23 Dec 2010 15:25:37 +0000 (10:25 -0500)]
[driver] Rename Driver_CompletePendingIrp to WvDriverCompletePendingIrp

11 years ago[driver] Rename globals
Shao Miller [Thu, 23 Dec 2010 14:43:39 +0000 (09:43 -0500)]
[driver] Rename globals

driver__state_handle_ to WvDriverStateHandle_
driver__started_ to WvDriverStarted_
driver__bus_fdo_ to WvDriverBusFdo_
driver__bus_fdo_lock_ to WvDriverBusFdoLock_
driver__os_load_opts_ tp WvDriverOsLoadOpts_
WvBusName_ to WvDriverBusName_
WvBusDosname_ to WvDriverBusDosname_

11 years ago[driver] Rename driver__obj_ptr to WvDriverObj
Shao Miller [Thu, 23 Dec 2010 14:38:31 +0000 (09:38 -0500)]
[driver] Rename driver__obj_ptr to WvDriverObj

11 years ago[driver] Set IsBus flag on the main bus FDO
Shao Miller [Thu, 23 Dec 2010 14:19:34 +0000 (09:19 -0500)]
[driver] Set IsBus flag on the main bus FDO

11 years ago[bus] Add child PDO node unit number logic
Shao Miller [Thu, 23 Dec 2010 13:56:12 +0000 (08:56 -0500)]
[bus] Add child PDO node unit number logic

The same kind of effort as we see in WvBusAddChild().
The point is for a move away from WV_S_DEV_T and towards
a bus library that can be used by any driver, so some
things will go in WV_S_BUS_NODE, instead.

11 years ago[bus] Add FDO member to bus structure
Shao Miller [Tue, 21 Dec 2010 21:44:49 +0000 (16:44 -0500)]
[bus] Add FDO member to bus structure

In a possibly eventual effort to move away from WV_S_DEV_T

11 years ago[project,bus] Two commits: #inclusion and bus freeing
Shao Miller [Tue, 21 Dec 2010 20:55:44 +0000 (15:55 -0500)]
[project,bus] Two commits: #inclusion and bus freeing

Unfortunately, this is two commits as one.

A bus thread will not attempt to free the bus, making a
caller or another thread responsible.

Make header #include guards consistently named.

11 years ago[bus] Put the device right in the bus
Shao Miller [Tue, 21 Dec 2010 15:21:34 +0000 (10:21 -0500)]
[bus] Put the device right in the bus

Instead of a pointer and a separate allocation, put
the device structure right inside the bus structure.
Now when we free, we simply free the bus structure.

11 years ago[aoe] Move registry setup into new registry TU
Shao Miller [Tue, 21 Dec 2010 15:03:31 +0000 (10:03 -0500)]
[aoe] Move registry setup into new registry TU

Introduce registry.c translation unit and move setup_reg()
into it as AoeRegSetup().

11 years ago[aoe] Rename aoe__get_ to AoeDiskFromDev_
Shao Miller [Tue, 21 Dec 2010 14:53:14 +0000 (09:53 -0500)]
[aoe] Rename aoe__get_ to AoeDiskFromDev_