people/sha0/winvblock.git
10 years ago[project] Rename winvblock__uint16 back to UINT16
Shao Miller [Sun, 2 Jan 2011 07:20:48 +0000 (02:20 -0500)]
[project] Rename winvblock__uint16 back to UINT16

Heh.

10 years ago[project] Rename winvblock__uint32 back to UINT32
Shao Miller [Sun, 2 Jan 2011 07:15:57 +0000 (02:15 -0500)]
[project] Rename winvblock__uint32 back to UINT32

Heh.

10 years ago[project] Rename winvblock__uint64 back to UINT64
Shao Miller [Sun, 2 Jan 2011 07:04:39 +0000 (02:04 -0500)]
[project] Rename winvblock__uint64 back to UINT64

Heh.

10 years ago[project] Rename winvblock__uint8 back to UCHAR
Shao Miller [Sun, 2 Jan 2011 07:02:53 +0000 (02:02 -0500)]
[project] Rename winvblock__uint8 back to UCHAR

Heh.

10 years ago[header] Remove winvblock__def_struct
Shao Miller [Sun, 2 Jan 2011 06:51:34 +0000 (01:51 -0500)]
[header] Remove winvblock__def_struct

Some editors are not able to grok this macro.

10 years ago[filedisk/grub4dos] Rename drive_file_set struct type
Shao Miller [Sun, 2 Jan 2011 06:49:30 +0000 (01:49 -0500)]
[filedisk/grub4dos] Rename drive_file_set struct type

To WV_S_FILEDISK_GRUB4DOS_DRIVE_FILE_SET.

10 years ago[filedisk] Rename thread_req to WV_S_FILEDISK_THREAD_REQ
Shao Miller [Sun, 2 Jan 2011 06:44:06 +0000 (01:44 -0500)]
[filedisk] Rename thread_req to WV_S_FILEDISK_THREAD_REQ

10 years ago[disk] Rename fat_super to WV_S_DISK_FAT_SUPER
Shao Miller [Sun, 2 Jan 2011 06:29:34 +0000 (01:29 -0500)]
[disk] Rename fat_super to WV_S_DISK_FAT_SUPER

10 years ago[disk] Rename fat_extra to WV_S_DISK_FAT_EXTRA
Shao Miller [Sun, 2 Jan 2011 06:26:50 +0000 (01:26 -0500)]
[disk] Rename fat_extra to WV_S_DISK_FAT_EXTRA

10 years ago[util] Rename option type to WVU_S_OPTION
Shao Miller [Sun, 2 Jan 2011 06:21:44 +0000 (01:21 -0500)]
[util] Rename option type to WVU_S_OPTION

10 years ago[ramdisk] Rename ramdisk__type to WV_S_RAMDISK_T
Shao Miller [Sun, 2 Jan 2011 06:17:13 +0000 (01:17 -0500)]
[ramdisk] Rename ramdisk__type to WV_S_RAMDISK_T

10 years ago[msvhd] Rename msvhd__footer to WV_S_MSVHD_FOOTER
Shao Miller [Sun, 2 Jan 2011 06:11:55 +0000 (01:11 -0500)]
[msvhd] Rename msvhd__footer to WV_S_MSVHD_FOOTER

10 years ago[util] Fix search'n'replace failures for recent commits
Shao Miller [Sun, 2 Jan 2011 06:05:37 +0000 (01:05 -0500)]
[util] Fix search'n'replace failures for recent commits

Same subjects as 03704bb78bd74cb8281e246be5883feb22cb185f.

10 years ago[mount] Rename mount__filedisk to WV_S_MOUNT_DISK
Shao Miller [Sun, 2 Jan 2011 06:03:51 +0000 (01:03 -0500)]
[mount] Rename mount__filedisk to WV_S_MOUNT_DISK

10 years ago[mdi] Rename structures
Shao Miller [Sun, 2 Jan 2011 05:55:25 +0000 (00:55 -0500)]
[mdi] Rename structures

mdi__patch_area to WV_S_MDI_PATCH_AREA and mdi__mbft
to WV_S_MDI_MBFT.

10 years ago[grub4dos] Rename grub4dos__drive_mapping to WV_S_GRUB4DOS_DRIVE_MAPPING
Shao Miller [Sun, 2 Jan 2011 05:43:52 +0000 (00:43 -0500)]
[grub4dos] Rename grub4dos__drive_mapping to WV_S_GRUB4DOS_DRIVE_MAPPING

10 years ago[filedisk] Rename filedisk__type to WV_S_FILEDISK_T
Shao Miller [Sun, 2 Jan 2011 05:37:09 +0000 (00:37 -0500)]
[filedisk] Rename filedisk__type to WV_S_FILEDISK_T

10 years ago[driver] Rename driver__dev_ext to WV_S_DEV_EXT
Shao Miller [Sun, 2 Jan 2011 05:31:16 +0000 (00:31 -0500)]
[driver] Rename driver__dev_ext to WV_S_DEV_EXT

10 years ago[disk] Rename mbr to WVL_S_DISK_MBR
Shao Miller [Sun, 2 Jan 2011 05:26:14 +0000 (00:26 -0500)]
[disk] Rename mbr to WVL_S_DISK_MBR

10 years ago[aoe] Fix search'n'replace failures for recent commits
Shao Miller [Sun, 2 Jan 2011 05:25:49 +0000 (00:25 -0500)]
[aoe] Fix search'n'replace failures for recent commits

10 years ago[aoe] Rename aoe__mount_disk to AOE_S_MOUNT_DISK
Shao Miller [Sun, 2 Jan 2011 05:07:00 +0000 (00:07 -0500)]
[aoe] Rename aoe__mount_disk to AOE_S_MOUNT_DISK

10 years ago[aoe] Rename aoe__mount_disks to AOE_S_MOUNT_DISKS
Shao Miller [Sun, 2 Jan 2011 05:05:31 +0000 (00:05 -0500)]
[aoe] Rename aoe__mount_disks to AOE_S_MOUNT_DISKS

10 years ago[aoe] Rename aoe__mount_target to AOE_S_MOUNT_TARGET
Shao Miller [Sun, 2 Jan 2011 05:02:26 +0000 (00:02 -0500)]
[aoe] Rename aoe__mount_target to AOE_S_MOUNT_TARGET

10 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

10 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
commits.

Rename winvblock__literal to WVL_M_LIT.  Rename
winvblock__literal_w to WVL_M_WLIT.

Rename abft to AOE_S_ABFT.

10 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

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

10 years ago[bus] Rename WV_S_BUS_CUSTOM_WORK_ITEM to WVL_S_BUS_CUSTOM_WORK_ITEM
Shao Miller [Sun, 2 Jan 2011 04:24:47 +0000 (23:24 -0500)]
[bus] Rename WV_S_BUS_CUSTOM_WORK_ITEM to WVL_S_BUS_CUSTOM_WORK_ITEM

10 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)]
[bus] Rename WV_F_BUS_WORK_ITEM to WVL_F_BUS_WORK_ITEM

10 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

10 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

10 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)]
[bus] Rename WV_E_BUS_STATE to WVL_E_BUS_STATE

Along with enumeration values from WvBusState*
to WvlBusState*.

10 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

10 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)]
[bus] Rename WV_F_BUS_THREAD to WVL_F_BUS_THREAD

10 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
convention.

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.

10 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.

10 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

10 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

10 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

10 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.

10 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

10 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.

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

10 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.

10 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

10 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.

10 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

10 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.

10 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

10 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.

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

10 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.

10 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_

10 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.

10 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

10 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
PnP ID query IRP using a WV_S_DRIVER_DUMMY_IDS.

10 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).

10 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_

10 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()

10 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.

10 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
WV_S_BUS_CUSTOM_WORK_ITEM type.

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

10 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

10 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().

10 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.

10 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()

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

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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_

10 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
handling IRP_MJ_PNP IRP_MN_QUERY_DEVICE_TEXT.

10 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_

10 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_

10 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).

10 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_

10 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.

10 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).

10 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

10 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

10 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

10 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.

10 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_

10 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.

10 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.

10 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
WvDriverBusDevCtlDetach().

10 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.

10 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.

10 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.

10 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.

10 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.

10 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

10 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_

10 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

10 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.

10 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.