hi

Are most CE driver kernel mode ?

I'm confused about ISR and IST that IST run in user mode, is it part of
kernel mode
device driver ?

Another question , is KernelIOControl an user mode or kernel mode function ?
I see the document it can be used by driver or application .

Thank for your teaching.

RE: User Mode and Kernel Mode question by Sheetal

Sheetal
Mon May 19 06:25:01 PDT 2008

Hi,

> Are most CE driver kernel mode ?
Yes, default driver mode is kernel.

> I'm confused about ISR and IST that IST run in user mode, is it part of
> kernel mode
> device driver ?
ISR is part of the OAL, which is meant to do the least processing leaving
more detailed executions on the IST, whereas, IST is a "thread" that a driver
DLL starts to handle the rest of the processing.

> Another question , is KernelIOControl an user mode or kernel mode function ?
> I see the document it can be used by driver or application .
It is available to both.

-Sheetal.


"Kid" wrote:

> hi
>
> Are most CE driver kernel mode ?
>
> I'm confused about ISR and IST that IST run in user mode, is it part of
> kernel mode
> device driver ?
>
> Another question , is KernelIOControl an user mode or kernel mode function ?
> I see the document it can be used by driver or application .
>
> Thank for your teaching.
>

Re: User Mode and Kernel Mode question by Ming

Ming
Tue May 20 11:21:16 PDT 2008

On May 19, 6:25 am, Sheetal <Shee...@discussions.microsoft.com> wrote:
> Hi,
>
> > Are most CE driver kernel mode ?
>
> Yes, default driver mode is kernel.
>
> > I'm confused about ISR and IST that IST run in user mode, is it part of
> > kernel mode
> > device driver ?
>
> ISR is part of the OAL, which is meant to do the least processing leaving
> more detailed executions on the IST, whereas, IST is a "thread" that a driver
> DLL starts to handle the rest of the processing.
>
> > Another question , is KernelIOControl an user mode or kernel mode function ?
> > I see the document it can be used by driver or application .
>
> It is available to both.
>
> -Sheetal.
>
> "Kid" wrote:
> > hi
>
> > Are most CE driver kernel mode ?
>
> > I'm confused about ISR and IST that IST run in user mode, is it part of
> > kernel mode
> > device driver ?
>
> > Another question , is KernelIOControl an user mode or kernel mode function ?
> > I see the document it can be used by driver or application .
>
> > Thank for your teaching.

To add to Sheetal's response:

KernelIOControl can be called from User-Mode or Kernel-Mode. When
called from Kernel-Mode you have access to all the IOCTL codes and
operations that go along with the call. In User-Mode you only have a
subset of supported IOCTL codes, listed below, you can add more IOCTL
codes by modifying the OALIOCTL code located inside the Public (you
should create a copy of this code in your BSP if you want to modify
it, its a bad idea to modify Public code). If you call a kernel IOCTL
that is not supported in user-Mode then KernelIOControl will return an
error code of 50 (ERROR_NOT_SUPPORTED).

The supported Kernel IOCTLs are:
IOCTL_HAL_GET_CACHE_INFO
IOCTL_HAL_GET_DEVICE_INFO
IOCTL_HAL_GET_DEVICEID
IOCTL_HAL_GET_UUID
IOCTL_PROCESSOR_INFORMATION

Hope this helps.

Regards,
Ming Wang

Re: User Mode and Kernel Mode question by prayasMOHANTY

prayasMOHANTY
Sun Jun 15 22:35:00 PDT 2008

Hi Ming,

[Ming] Yes, default driver mode is kernel.

[Prayas] Can we move a driver in CE6 from Kernel mode to User mode.
I saw the Doccumentation and it said, it is just the "k" atribute that
matters, but if i remove the 'K' attribute, i'm error'd "K- Flag Missing"
..

Is there any registry or somewhere else where we need to specify abt a
driver to be loaded by udevice.exe .. ?



"Ming Wang" wrote:

> On May 19, 6:25 am, Sheetal <Shee...@discussions.microsoft.com> wrote:
> > Hi,
> >
> > > Are most CE driver kernel mode ?
> >
> > Yes, default driver mode is kernel.
> >
> > > I'm confused about ISR and IST that IST run in user mode, is it part of
> > > kernel mode
> > > device driver ?
> >
> > ISR is part of the OAL, which is meant to do the least processing leaving
> > more detailed executions on the IST, whereas, IST is a "thread" that a driver
> > DLL starts to handle the rest of the processing.
> >
> > > Another question , is KernelIOControl an user mode or kernel mode function ?
> > > I see the document it can be used by driver or application .
> >
> > It is available to both.
> >
> > -Sheetal.
> >
> > "Kid" wrote:
> > > hi
> >
> > > Are most CE driver kernel mode ?
> >
> > > I'm confused about ISR and IST that IST run in user mode, is it part of
> > > kernel mode
> > > device driver ?
> >
> > > Another question , is KernelIOControl an user mode or kernel mode function ?
> > > I see the document it can be used by driver or application .
> >
> > > Thank for your teaching.
>
> To add to Sheetal's response:
>
> KernelIOControl can be called from User-Mode or Kernel-Mode. When
> called from Kernel-Mode you have access to all the IOCTL codes and
> operations that go along with the call. In User-Mode you only have a
> subset of supported IOCTL codes, listed below, you can add more IOCTL
> codes by modifying the OALIOCTL code located inside the Public (you
> should create a copy of this code in your BSP if you want to modify
> it, its a bad idea to modify Public code). If you call a kernel IOCTL
> that is not supported in user-Mode then KernelIOControl will return an
> error code of 50 (ERROR_NOT_SUPPORTED).
>
> The supported Kernel IOCTLs are:
> IOCTL_HAL_GET_CACHE_INFO
> IOCTL_HAL_GET_DEVICE_INFO
> IOCTL_HAL_GET_DEVICEID
> IOCTL_HAL_GET_UUID
> IOCTL_PROCESSOR_INFORMATION
>
> Hope this helps.
>
> Regards,
> Ming Wang
>

Re: User Mode and Kernel Mode question by Michel

Michel
Sun Jun 15 23:12:12 PDT 2008

Yes, see DEVFLAGS_LOAD_AS_USERMODE:
http://msdn.microsoft.com/en-us/library/aa930532.aspx

Good luck,

Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog

GuruCE Ltd.
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.

prayas MOHANTY wrote:
> Hi Ming,
>
> [Ming] Yes, default driver mode is kernel.
>
> [Prayas] Can we move a driver in CE6 from Kernel mode to User mode.
> I saw the Doccumentation and it said, it is just the "k" atribute that
> matters, but if i remove the 'K' attribute, i'm error'd "K- Flag Missing"
> ..
>
> Is there any registry or somewhere else where we need to specify abt a
> driver to be loaded by udevice.exe .. ?
>
>
>
> "Ming Wang" wrote:
>
>> On May 19, 6:25 am, Sheetal <Shee...@discussions.microsoft.com> wrote:
>>> Hi,
>>>
>>>> Are most CE driver kernel mode ?
>>> Yes, default driver mode is kernel.
>>>
>>>> I'm confused about ISR and IST that IST run in user mode, is it part of
>>>> kernel mode
>>>> device driver ?
>>> ISR is part of the OAL, which is meant to do the least processing leaving
>>> more detailed executions on the IST, whereas, IST is a "thread" that a driver
>>> DLL starts to handle the rest of the processing.
>>>
>>>> Another question , is KernelIOControl an user mode or kernel mode function ?
>>>> I see the document it can be used by driver or application .
>>> It is available to both.
>>>
>>> -Sheetal.
>>>
>>> "Kid" wrote:
>>>> hi
>>>> Are most CE driver kernel mode ?
>>>> I'm confused about ISR and IST that IST run in user mode, is it part of
>>>> kernel mode
>>>> device driver ?
>>>> Another question , is KernelIOControl an user mode or kernel mode function ?
>>>> I see the document it can be used by driver or application .
>>>> Thank for your teaching.
>> To add to Sheetal's response:
>>
>> KernelIOControl can be called from User-Mode or Kernel-Mode. When
>> called from Kernel-Mode you have access to all the IOCTL codes and
>> operations that go along with the call. In User-Mode you only have a
>> subset of supported IOCTL codes, listed below, you can add more IOCTL
>> codes by modifying the OALIOCTL code located inside the Public (you
>> should create a copy of this code in your BSP if you want to modify
>> it, its a bad idea to modify Public code). If you call a kernel IOCTL
>> that is not supported in user-Mode then KernelIOControl will return an
>> error code of 50 (ERROR_NOT_SUPPORTED).
>>
>> The supported Kernel IOCTLs are:
>> IOCTL_HAL_GET_CACHE_INFO
>> IOCTL_HAL_GET_DEVICE_INFO
>> IOCTL_HAL_GET_DEVICEID
>> IOCTL_HAL_GET_UUID
>> IOCTL_PROCESSOR_INFORMATION
>>
>> Hope this helps.
>>
>> Regards,
>> Ming Wang
>>

Re: User Mode and Kernel Mode question by prayasMOHANTY

prayasMOHANTY
Mon Jun 16 04:13:01 PDT 2008

Thanks Michel ..
This worked .. :)



"Michel Verhagen (eMVP)" wrote:

> Yes, see DEVFLAGS_LOAD_AS_USERMODE:
> http://msdn.microsoft.com/en-us/library/aa930532.aspx
>
> Good luck,
>
> Michel Verhagen, eMVP
> Check out my blog: http://GuruCE.com/blog
>
> GuruCE Ltd.
> Microsoft Embedded Partner
> http://GuruCE.com
> Consultancy, training and development services.
>
> prayas MOHANTY wrote:
> > Hi Ming,
> >
> > [Ming] Yes, default driver mode is kernel.
> >
> > [Prayas] Can we move a driver in CE6 from Kernel mode to User mode.
> > I saw the Doccumentation and it said, it is just the "k" atribute that
> > matters, but if i remove the 'K' attribute, i'm error'd "K- Flag Missing"
> > ..
> >
> > Is there any registry or somewhere else where we need to specify abt a
> > driver to be loaded by udevice.exe .. ?
> >
> >
> >
> > "Ming Wang" wrote:
> >
> >> On May 19, 6:25 am, Sheetal <Shee...@discussions.microsoft.com> wrote:
> >>> Hi,
> >>>
> >>>> Are most CE driver kernel mode ?
> >>> Yes, default driver mode is kernel.
> >>>
> >>>> I'm confused about ISR and IST that IST run in user mode, is it part of
> >>>> kernel mode
> >>>> device driver ?
> >>> ISR is part of the OAL, which is meant to do the least processing leaving
> >>> more detailed executions on the IST, whereas, IST is a "thread" that a driver
> >>> DLL starts to handle the rest of the processing.
> >>>
> >>>> Another question , is KernelIOControl an user mode or kernel mode function ?
> >>>> I see the document it can be used by driver or application .
> >>> It is available to both.
> >>>
> >>> -Sheetal.
> >>>
> >>> "Kid" wrote:
> >>>> hi
> >>>> Are most CE driver kernel mode ?
> >>>> I'm confused about ISR and IST that IST run in user mode, is it part of
> >>>> kernel mode
> >>>> device driver ?
> >>>> Another question , is KernelIOControl an user mode or kernel mode function ?
> >>>> I see the document it can be used by driver or application .
> >>>> Thank for your teaching.
> >> To add to Sheetal's response:
> >>
> >> KernelIOControl can be called from User-Mode or Kernel-Mode. When
> >> called from Kernel-Mode you have access to all the IOCTL codes and
> >> operations that go along with the call. In User-Mode you only have a
> >> subset of supported IOCTL codes, listed below, you can add more IOCTL
> >> codes by modifying the OALIOCTL code located inside the Public (you
> >> should create a copy of this code in your BSP if you want to modify
> >> it, its a bad idea to modify Public code). If you call a kernel IOCTL
> >> that is not supported in user-Mode then KernelIOControl will return an
> >> error code of 50 (ERROR_NOT_SUPPORTED).
> >>
> >> The supported Kernel IOCTLs are:
> >> IOCTL_HAL_GET_CACHE_INFO
> >> IOCTL_HAL_GET_DEVICE_INFO
> >> IOCTL_HAL_GET_DEVICEID
> >> IOCTL_HAL_GET_UUID
> >> IOCTL_PROCESSOR_INFORMATION
> >>
> >> Hope this helps.
> >>
> >> Regards,
> >> Ming Wang
> >>
>

Re: User Mode and Kernel Mode question by prayasMOHANTY

prayasMOHANTY
Tue Jul 01 03:42:01 PDT 2008


Hi Michael,
I followed ur advice and used DEVFLAGS_LOAD_AS_USERMODE. I was able to load
my mycamera.dll in the user space.

I am working in the camera driver in CE6.
In camera we have 2 prefix PIN and CAM. I used "Flags=10" for both.
But with Flags as 10 in the PIN_INIT, i donot get proper values for
pPinInitDev->pCamDevice = reinterpret_cast<PCAMERADEVICE>( lpvBusContext );

plz help me move forward ..



"prayas MOHANTY" wrote:

> Thanks Michel ..
> This worked .. :)
>
>
>
> "Michel Verhagen (eMVP)" wrote:
>
> > Yes, see DEVFLAGS_LOAD_AS_USERMODE:
> > http://msdn.microsoft.com/en-us/library/aa930532.aspx
> >
> > Good luck,
> >
> > Michel Verhagen, eMVP
> > Check out my blog: http://GuruCE.com/blog
> >
> > GuruCE Ltd.
> > Microsoft Embedded Partner
> > http://GuruCE.com
> > Consultancy, training and development services.
> >
> > prayas MOHANTY wrote:
> > > Hi Ming,
> > >
> > > [Ming] Yes, default driver mode is kernel.
> > >
> > > [Prayas] Can we move a driver in CE6 from Kernel mode to User mode.
> > > I saw the Doccumentation and it said, it is just the "k" atribute that
> > > matters, but if i remove the 'K' attribute, i'm error'd "K- Flag Missing"
> > > ..
> > >
> > > Is there any registry or somewhere else where we need to specify abt a
> > > driver to be loaded by udevice.exe .. ?
> > >
> > >
> > >
> > > "Ming Wang" wrote:
> > >
> > >> On May 19, 6:25 am, Sheetal <Shee...@discussions.microsoft.com> wrote:
> > >>> Hi,
> > >>>
> > >>>> Are most CE driver kernel mode ?
> > >>> Yes, default driver mode is kernel.
> > >>>
> > >>>> I'm confused about ISR and IST that IST run in user mode, is it part of
> > >>>> kernel mode
> > >>>> device driver ?
> > >>> ISR is part of the OAL, which is meant to do the least processing leaving
> > >>> more detailed executions on the IST, whereas, IST is a "thread" that a driver
> > >>> DLL starts to handle the rest of the processing.
> > >>>
> > >>>> Another question , is KernelIOControl an user mode or kernel mode function ?
> > >>>> I see the document it can be used by driver or application .
> > >>> It is available to both.
> > >>>
> > >>> -Sheetal.
> > >>>
> > >>> "Kid" wrote:
> > >>>> hi
> > >>>> Are most CE driver kernel mode ?
> > >>>> I'm confused about ISR and IST that IST run in user mode, is it part of
> > >>>> kernel mode
> > >>>> device driver ?
> > >>>> Another question , is KernelIOControl an user mode or kernel mode function ?
> > >>>> I see the document it can be used by driver or application .
> > >>>> Thank for your teaching.
> > >> To add to Sheetal's response:
> > >>
> > >> KernelIOControl can be called from User-Mode or Kernel-Mode. When
> > >> called from Kernel-Mode you have access to all the IOCTL codes and
> > >> operations that go along with the call. In User-Mode you only have a
> > >> subset of supported IOCTL codes, listed below, you can add more IOCTL
> > >> codes by modifying the OALIOCTL code located inside the Public (you
> > >> should create a copy of this code in your BSP if you want to modify
> > >> it, its a bad idea to modify Public code). If you call a kernel IOCTL
> > >> that is not supported in user-Mode then KernelIOControl will return an
> > >> error code of 50 (ERROR_NOT_SUPPORTED).
> > >>
> > >> The supported Kernel IOCTLs are:
> > >> IOCTL_HAL_GET_CACHE_INFO
> > >> IOCTL_HAL_GET_DEVICE_INFO
> > >> IOCTL_HAL_GET_DEVICEID
> > >> IOCTL_HAL_GET_UUID
> > >> IOCTL_PROCESSOR_INFORMATION
> > >>
> > >> Hope this helps.
> > >>
> > >> Regards,
> > >> Ming Wang
> > >>
> >

Re: User Mode and Kernel Mode question by prayasMOHANTY

prayasMOHANTY
Tue Jul 01 04:25:01 PDT 2008


Aah .. My bad ..
I worked it out .. mycam.reg was missing the "ProcGroup" value.

Thanks .. :)


"prayas MOHANTY" wrote:

>
> Hi Michael,
> I followed ur advice and used DEVFLAGS_LOAD_AS_USERMODE. I was able to load
> my mycamera.dll in the user space.
>
> I am working in the camera driver in CE6.
> In camera we have 2 prefix PIN and CAM. I used "Flags=10" for both.
> But with Flags as 10 in the PIN_INIT, i donot get proper values for
> pPinInitDev->pCamDevice = reinterpret_cast<PCAMERADEVICE>( lpvBusContext );
>
> plz help me move forward ..
>
>
>
> "prayas MOHANTY" wrote:
>
> > Thanks Michel ..
> > This worked .. :)
> >
> >
> >
> > "Michel Verhagen (eMVP)" wrote:
> >
> > > Yes, see DEVFLAGS_LOAD_AS_USERMODE:
> > > http://msdn.microsoft.com/en-us/library/aa930532.aspx
> > >
> > > Good luck,
> > >
> > > Michel Verhagen, eMVP
> > > Check out my blog: http://GuruCE.com/blog
> > >
> > > GuruCE Ltd.
> > > Microsoft Embedded Partner
> > > http://GuruCE.com
> > > Consultancy, training and development services.
> > >
> > > prayas MOHANTY wrote:
> > > > Hi Ming,
> > > >
> > > > [Ming] Yes, default driver mode is kernel.
> > > >
> > > > [Prayas] Can we move a driver in CE6 from Kernel mode to User mode.
> > > > I saw the Doccumentation and it said, it is just the "k" atribute that
> > > > matters, but if i remove the 'K' attribute, i'm error'd "K- Flag Missing"
> > > > ..
> > > >
> > > > Is there any registry or somewhere else where we need to specify abt a
> > > > driver to be loaded by udevice.exe .. ?
> > > >
> > > >
> > > >
> > > > "Ming Wang" wrote:
> > > >
> > > >> On May 19, 6:25 am, Sheetal <Shee...@discussions.microsoft.com> wrote:
> > > >>> Hi,
> > > >>>
> > > >>>> Are most CE driver kernel mode ?
> > > >>> Yes, default driver mode is kernel.
> > > >>>
> > > >>>> I'm confused about ISR and IST that IST run in user mode, is it part of
> > > >>>> kernel mode
> > > >>>> device driver ?
> > > >>> ISR is part of the OAL, which is meant to do the least processing leaving
> > > >>> more detailed executions on the IST, whereas, IST is a "thread" that a driver
> > > >>> DLL starts to handle the rest of the processing.
> > > >>>
> > > >>>> Another question , is KernelIOControl an user mode or kernel mode function ?
> > > >>>> I see the document it can be used by driver or application .
> > > >>> It is available to both.
> > > >>>
> > > >>> -Sheetal.
> > > >>>
> > > >>> "Kid" wrote:
> > > >>>> hi
> > > >>>> Are most CE driver kernel mode ?
> > > >>>> I'm confused about ISR and IST that IST run in user mode, is it part of
> > > >>>> kernel mode
> > > >>>> device driver ?
> > > >>>> Another question , is KernelIOControl an user mode or kernel mode function ?
> > > >>>> I see the document it can be used by driver or application .
> > > >>>> Thank for your teaching.
> > > >> To add to Sheetal's response:
> > > >>
> > > >> KernelIOControl can be called from User-Mode or Kernel-Mode. When
> > > >> called from Kernel-Mode you have access to all the IOCTL codes and
> > > >> operations that go along with the call. In User-Mode you only have a
> > > >> subset of supported IOCTL codes, listed below, you can add more IOCTL
> > > >> codes by modifying the OALIOCTL code located inside the Public (you
> > > >> should create a copy of this code in your BSP if you want to modify
> > > >> it, its a bad idea to modify Public code). If you call a kernel IOCTL
> > > >> that is not supported in user-Mode then KernelIOControl will return an
> > > >> error code of 50 (ERROR_NOT_SUPPORTED).
> > > >>
> > > >> The supported Kernel IOCTLs are:
> > > >> IOCTL_HAL_GET_CACHE_INFO
> > > >> IOCTL_HAL_GET_DEVICE_INFO
> > > >> IOCTL_HAL_GET_DEVICEID
> > > >> IOCTL_HAL_GET_UUID
> > > >> IOCTL_PROCESSOR_INFORMATION
> > > >>
> > > >> Hope this helps.
> > > >>
> > > >> Regards,
> > > >> Ming Wang
> > > >>
> > >