Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting... Please check out the Community Guidelines in the
Announcements and Administration Category.

Understanding code12 resource conflict

I installed a barebones driver on a device I'll be working on (only have DriverEntry/DeviceAdd and both return success). In device manager, my device has a yellow bang over it with the status saying there aren't enough free resources that it can use.

Upon inspecting the output of !arbiter, I see a large range of addresses conflicting

DEVNODE ffffc88573d039c0 (ACPI\PNP0A08\0)
Memory Arbiter "PCI Memory (b=0)" at ffffc88579294ae0
Allocated ranges:
0000000000000000 - 000000000009ffff 00000000 <Not on bus>
0000000000100000 - 000000008fffffff 00000000 <Not on bus>
0000000092500000 - 00000000925fffff ffffc88579293060 (pci)
0000000092600000 - 000000009260ffff ffffc8857928f060
0000000092620000 - 0000000092623fff ffffc88579283060 (HDAudBus)
0000000092628000 - 0000000092629fff ffffc88579295830 (storahci)
000000009262a000 - 000000009262afff ffffc885793d7830 (MEIx64)
000000009262b000 - 000000009262b0ff B ffffc885793f2060
000000009262b800 - 000000009262bfff ffffc88579295830 (storahci)
000000009262c000 - 000000009262c0ff ffffc88579295830 (storahci)
0000000092700000 - 00000000a08fffff ffffc8857928d060 (pci)
00000000c0000000 - 00000000d01fffff ffffc88579293060 (pci)
00000000d0200000 - 00000000d02fffff ffffc88579285060 (pci)
00000000d0300000 - 00000000de2fffff ffffc8857928d060 (pci)
00000000e0000000 - 00000000efffffff
00000000e0000000 - 00000000efffffff CB 00000000 <Not on bus>
00000000e0000000 - 00000000efffffff CB ffffc88579293950
00000000fc800000 - 00000000fccfffff ffffc885793be060 (pci)
00000000fd000000 - 00000000fe7fffff B ffffc88579293950
00000000feb00000 - 0000003fffffffff
00000000feb00000 - 0000003fffffffff C 00000000 <Not on bus>
00000000fed00000 - 00000000fed03fff CB ffffc8857a318a90
00000000fed10000 - 00000000fed17fff CB ffffc88579293950
00000000fed18000 - 00000000fed18fff CB ffffc88579293950
00000000fed19000 - 00000000fed19fff CB ffffc88579293950
00000000fed20000 - 00000000fed3ffff CB ffffc88579293950
00000000fed45000 - 00000000fed8ffff CBA ffffc88579293950
00000000fed90000 - 00000000fed93fff CBA ffffc88579293950
00000000fee00000 - 00000000feefffff CBA ffffc88579293950
00000000fef00000 - 00000000fef0ffff CB ffffc8857a30b8b0 (MyDriver)
00000000ff000000 - 00000000ffffffff CBA ffffc88579293950
00000000ff000000 - 00000000ffffffff CBA ffffc885793c2c90
0000007fffff0000 - 0000007fffffffff ffffc88579283060 (HDAudBus)
0000008000000000 - ffffffffffffffff
0000008000000000 - ffffffffffffffff C 00000000 <Not on bus>
0001000000000000 - ffffffffffffffff C 00000000 <Not on bus>
Possible allocation:
< none >

I noticed there's an address range of 00000000feb00000 - 0000003fffffffff with a note saying "Not on bus".


When looking at the output of !devnode on the device I'm interested in, I tells me there's a conflict and to run !code12, yet the output of that command looks goofy.


0: kd> !devnode ffffc8857928e010
DevNode 0xffffc8857928e010 for PDO 0xffffc8857a30b8b0
Parent 0xffffc885793a7a30 Sibling 0xffffc8857928e540 Child 0000000000
InstancePath is "ACPI\DEV0001\4&18e05879&0"
ServiceName is "MyDriver"
State = DeviceNodeDriversAdded (0x303)
Previous State = DeviceNodeInitialized (0x302)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
StateHistory[06] = Unknown State (0x0)
StateHistory[05] = Unknown State (0x0)
StateHistory[04] = Unknown State (0x0)
StateHistory[03] = Unknown State (0x0)
StateHistory[02] = Unknown State (0x0)
Flags (0x6c0020f0) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED,
DNF_HAS_PROBLEM, DNF_NO_LOWER_DEVICE_FILTERS,
DNF_NO_LOWER_CLASS_FILTERS, DNF_NO_UPPER_DEVICE_FILTERS,
DNF_NO_UPPER_CLASS_FILTERS
UserFlags (0x00000002) DNUF_DONT_SHOW_IN_UI
CapabilityFlags (0x00020080) SilentInstall, NoDisplayInUI
Problem = CM_PROB_NORMAL_CONFLICT
Problem Status = 0xc0000018
(For more information about this problem, run: !code12 0xffffc8857928e010)
!code12: Device node 0xffffc8857928e010
Rebalance triggered by Devnode 0x0000000000000000
Rebalance reason: <data error>

Dump conflicting resources that caused rebalance:
* Resource type: CmResourceTypeNull (0)
* Resource request alternatives count: 0

Dump arbiter instance: !arbinst 0x0000000000000000
!arbinst <address> [<Flags>]
Error reading ArbiterInstance 00000000

First question, what exactly does "Not on bus" mean?

Second, why does the output of !code12 reference null addresses, lists errors, and say the resource type is CmResourceTypeNull?

Comments

  • Pavel_APavel_A Posts: 2,643
    So, what sort of resources does your driver require? Does it define these resources in the INF?

    --pa
  • Doron_HolanDoron_Holan Posts: 10,360
    A modern pnp device should never declare its needed resources in an inf. Perhaps msi configuration, but not the hw resources themselves

    Bent from my phone
    ________________________________
    From: xxxxx@lists.osr.com on behalf of xxxxx@fastmail.fm
    Sent: Wednesday, February 14, 2018 4:35:45 PM
    To: Windows System Software Devs Interest List
    Subject: RE:[ntdev] Understanding code12 resource conflict

    So, what sort of resources does your driver require? Does it define these resources in the INF?

    --pa


    ---
    NTDEV is sponsored by OSR

    Visit the list online at:

    MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
    Details at

    To unsubscribe, visit the List Server section of OSR Online at
  • In the resources tab for my device in Device Manager shows it uses a range
    of IO, has an IRQ line, and has a 64k region of memory.
    The tree structure for my device looks like PCI Root Complex -> Intel LPC
    Controller -> My device. The LPC controller does not have any resources
    dedicated for it but the PCI Root Complex device does. The resources it
    shows it has allocated for it includes several different memory regions
    which within it, which several devices use sections of that memory,
    however, non of which include devices under the LPC controller device. This
    range is 00000000feb00000 - 0000003fffffffff.

    Does this mean anything?

    On Wed, Feb 14, 2018 at 5:33 PM, xxxxx@microsoft.com <
    xxxxx@lists.osr.com> wrote:

    > A modern pnp device should never declare its needed resources in an inf.
    > Perhaps msi configuration, but not the hw resources themselves
    >
    > Bent from my phone
    > ------------------------------
    > *From:* xxxxx@lists.osr.com osr.com> on behalf of xxxxx@fastmail.fm
    > *Sent:* Wednesday, February 14, 2018 4:35:45 PM
    > *To:* Windows System Software Devs Interest List
    > *Subject:* RE:[ntdev] Understanding code12 resource conflict
    >
    > So, what sort of resources does your driver require? Does it define these
    > resources in the INF?
    >
    > --pa
    >
    >
    > ---
    > NTDEV is sponsored by OSR
    >
    > Visit the list online at: protection.outlook.com/?url=http%3A%2F%2Fwww.osronline.
    > com%2Fshowlists.cfm%3Flist%3Dntdev&data=04%7C01%7CDoron.
    > Holan%40microsoft.com%7C052d07d2dac64031e83008d5740c118d%
    > 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636542517551684582%7CUnknown%
    > 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
    > 1haWwifQ%3D%3D%7C-1&sdata=1urgiZJTTJsXrYi0Amvh5DysxPMatj
    > WYdEt3jHzjDrg%3D&reserved=0>
    >
    > MONTHLY seminars on crash dump analysis, WDF, Windows internals and
    > software drivers!
    > Details at http%3A%2F%2Fwww.osr.com%2Fseminars&data=04%7C01%
    > 7CDoron.Holan%40microsoft.com%7C052d07d2dac64031e83008d5740c118d%
    > 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636542517551694587%7CUnknown%
    > 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
    > 1haWwifQ%3D%3D%7C-1&sdata=C6KzHVBis%2FDhds3qEIYSDwWrV0BbdAhO5Kj9CB
    > YIbZI%3D&reserved=0>
    >
    > To unsubscribe, visit the List Server section of OSR Online at <
    > https://na01.safelinks.protection.outlook.com/?url=
    > http%3A%2F%2Fwww.osronline.com%2Fpage.cfm%3Fname%
    > 3DListServer&data=04%7C01%7CDoron.Holan%40microsoft.com%
    > 7C052d07d2dac64031e83008d5740c118d%7C72f988bf86f141af91ab2d7cd011
    > db47%7C1%7C0%7C636542517551694587%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw
    > MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D%7C-1&sdata=h%2FJpIgmK3%
    > 2F4wexFbMOW1Ba5FU9FvK86%2BWdc5zbeH9mI%3D&reserved=0>
    >
    > ---
    > NTDEV is sponsored by OSR
    >
    > Visit the list online at: showlists.cfm?list=ntdev>
    >
    > MONTHLY seminars on crash dump analysis, WDF, Windows internals and
    > software drivers!
    > Details at
    >
    > To unsubscribe, visit the List Server section of OSR Online at <
    > http://www.osronline.com/page.cfm?name=ListServer>;
    >
  • Tim_RobertsTim_Roberts Posts: 12,619
    xxxxx@gmail.com wrote:
    >
    > In the resources tab for my device in Device Manager shows it uses a
    > range of IO, has an IRQ line, and has a 64k region of memory. 
    > The tree structure for my device looks like PCI Root Complex -> Intel
    > LPC Controller -> My device. The LPC controller does not have any
    > resources dedicated for it but the PCI Root Complex device does.

    Is that literally how your device is connected?  The LPC controller is
    mostly used for serial and parallel ports, and some GPIO lines -- things
    that have I/O ports.  It shouldn't have any PCI memory presence.  If
    that's not literally where your device is located, then your BIOS ACPI
    tables are wrong.

    --
    Tim Roberts, xxxxx@probo.com
    Providenza & Boekelheide, Inc.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!