Hi all,

I wrote some function in C:\WINCE420
\PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
in CE 4.2.

But I can not find the "oemioctl.c" in CE 5.0, where can
I put my code if I want to modify the kernel?

Thanks,
Bryan.

Re: CE 5.0 Kernel question by Yannick

Yannick
Wed Sep 29 00:14:19 CDT 2004

the PQOAL model of CE 5.0 implies that all CPU specific code is in
Platform\Common. Only the board specific code is in the BSP directory.
Consequently, the OEMIoControl function is no more implemented as part of
the board specific code of the OAL. You only implement specific ioctl
handlers.
To add your own ioctl, you can update the ioctl array in inc\ioctl.h and add
your ioctl handler in kernel\oal\src\ioctl.c


--
----------------------------------------------------------------
Yannick Chamming's (eMVP)
ADESET
Windows Embedded Manager
ychammings AT adeset DOT com>
http://www.adeset.com
Tél : +33 (0)4.72.18.57.77
Fax : +33 (0)4.72.18.57.78
----------------------------------------------------------------

"Bryan" <anonymous@discussions.microsoft.com> wrote in message
news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
> Hi all,
>
> I wrote some function in C:\WINCE420
> \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
> in CE 4.2.
>
> But I can not find the "oemioctl.c" in CE 5.0, where can
> I put my code if I want to modify the kernel?
>
> Thanks,
> Bryan.
>
>
>
>



Re: CE 5.0 Kernel question by K

K
Wed Sep 29 03:33:23 CDT 2004

Because the CEPC BSP of CE 5.0 is tranfered into PQOAL architecture.
The real OEMIoControl entry is under
\WINCE500\PLATFORM\COMMON\SRC\COMMON\IOCTL\ioctl.c
It dose NOT implement any IOCTL function call but using a Table named
g_oalIoCtlTable to map the corresponding IOCTL into the relative fections.

And the definition of g_oalIoCtlTable is defined in
\WINCE500\PLATFORM\CEPC\SRC\KERNEL\OAL\globals.c for CEPC.

const OAL_IOCTL_HANDLER g_oalIoCtlTable [] = {
#include <ioctl_tab.h>
};

the ioctl_tab is a predefined IOCTL table for a generic x86 platform.
If you want to add your own IOCTLs, you'll need to clone the ioctl_tab.h
(under \WINCE500\PLATFORM\COMMON\SRC\x86\INC)
into your BSP and modified the contects of the cloned ioctl_tab.h.
Also arrange your original add-on ioctl codes to adapt the function
prototype of the OAL_IOCTL_HANDLER.



"Bryan" <anonymous@discussions.microsoft.com>
???????:337601c4a5c4$6d561e70$a501280a@phx.gbl...
> Hi all,
>
> I wrote some function in C:\WINCE420
> \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
> in CE 4.2.
>
> But I can not find the "oemioctl.c" in CE 5.0, where can
> I put my code if I want to modify the kernel?
>
> Thanks,
> Bryan.
>
>
>
>



Re: CE 5.0 Kernel question by K

K
Wed Sep 29 03:42:56 CDT 2004

The CEPC BSP do NOT have \src\kernel\oal\ioctl.c nor the \src\inc\ioctl.h.
It only have a SRC\KERNEL\OAL\globals.c and it used the pre-defined x86
ioctl table ioctl_tab.h (COMMON\SRC\x86\INC).
becase the last entry of ioctl_tab.h is all zero (the End of Table), so
we'll need to clone it into \src\inc (and have better rename it into
ioctl.h)!!
Then add their own ioctl handler into the src\inc\ioctl.h


"Yannick Chamming's [eMVP]" <ychammings_nospam@adeset.com> ¼¶¼g©ó¶l¥ó·s»D
:OA7$tMepEHA.3800@TK2MSFTNGP14.phx.gbl...
> the PQOAL model of CE 5.0 implies that all CPU specific code is in
> Platform\Common. Only the board specific code is in the BSP directory.
> Consequently, the OEMIoControl function is no more implemented as part of
> the board specific code of the OAL. You only implement specific ioctl
> handlers.
> To add your own ioctl, you can update the ioctl array in inc\ioctl.h and
add
> your ioctl handler in kernel\oal\src\ioctl.c
>
>
> --
> ----------------------------------------------------------------
> Yannick Chamming's (eMVP)
> ADESET
> Windows Embedded Manager
> ychammings AT adeset DOT com>
> http://www.adeset.com
> Tél : +33 (0)4.72.18.57.77
> Fax : +33 (0)4.72.18.57.78
> ----------------------------------------------------------------
>
> "Bryan" <anonymous@discussions.microsoft.com> wrote in message
> news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
> > Hi all,
> >
> > I wrote some function in C:\WINCE420
> > \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
> > in CE 4.2.
> >
> > But I can not find the "oemioctl.c" in CE 5.0, where can
> > I put my code if I want to modify the kernel?
> >
> > Thanks,
> > Bryan.
> >
> >
> >
> >
>
>



Re: CE 5.0 Kernel question by Bryan

Bryan
Wed Sep 29 22:24:11 CDT 2004

Hi,

Thanks for you reply!!

Do you mean.....
If I wan to add a IOCTL call, such as IOCTL_HAL_UPDATE
and I have to do these...
1. // ioctl_tab.h
.....................
{ IOCTL_HAL_UPDATE, 0, x86IoCtlUpdate },
.............
2. Write a update.c program and put in the folder
\wince500\platform\common\src\x86\common\ioctl\
.....................
bool x86IoCtlUpdate ( ...., ..., .... )
{ }


Am I right?



Thanks

Bryan 2004/09/30


>-----Original Message-----
>The CEPC BSP do NOT have \src\kernel\oal\ioctl.c nor the=20
\src\inc\ioctl.h.
>It only have a SRC\KERNEL\OAL\globals.c and it used the=20
pre-defined x86
>ioctl table ioctl_tab.h (COMMON\SRC\x86\INC).
>becase the last entry of ioctl_tab.h is all zero (the=20
End of Table), so
>we'll need to clone it into \src\inc (and have better=20
rename it into
>ioctl.h)!!
>Then add their own ioctl handler into the src\inc\ioctl.h
>
>
>"Yannick Chamming's [eMVP]"=20
<ychammings_nospam@adeset.com> =BC=B6=BCg=A9=F3=B6l=A5=F3=B7s=BBD
>:OA7$tMepEHA.3800@TK2MSFTNGP14.phx.gbl...
>> the PQOAL model of CE 5.0 implies that all CPU=20
specific code is in
>> Platform\Common. Only the board specific code is in=20
the BSP directory.
>> Consequently, the OEMIoControl function is no more=20
implemented as part of
>> the board specific code of the OAL. You only implement=20
specific ioctl
>> handlers.
>> To add your own ioctl, you can update the ioctl array=20
in inc\ioctl.h and
>add
>> your ioctl handler in kernel\oal\src\ioctl.c
>>
>>
>> --
>> -------------------------------------------------------
---------
>> Yannick Chamming's (eMVP)
>> ADESET
>> Windows Embedded Manager
>> ychammings AT adeset DOT com>
>> http://www.adeset.com
>> T=E9l : +33 (0)4.72.18.57.77
>> Fax : +33 (0)4.72.18.57.78
>> -------------------------------------------------------
---------
>>
>> "Bryan" <anonymous@discussions.microsoft.com> wrote in=20
message
>> news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
>> > Hi all,
>> >
>> > I wrote some function in C:\WINCE420
>> > \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
>> > in CE 4.2.
>> >
>> > But I can not find the "oemioctl.c" in CE 5.0, where=20
can
>> > I put my code if I want to modify the kernel?
>> >
>> > Thanks,
>> > Bryan.
>> >
>> >
>> >
>> >
>>
>>
>
>
>.
>

Re: CE 5.0 Kernel question by K

K
Wed Sep 29 23:05:34 CDT 2004

Well,
I think you have better put your modified source code under your BSP
directory instead of the common directory.
Becasue the COMMON\SRC\X86 is shared for all of the x86 platforms, and other
platform may NOT have the ability of your own ioctl codes.

"Bryan" <anonymous@discussions.microsoft.com>
???????:40d801c4a69c$f45819e0$a501280a@phx.gbl...
Hi,

Thanks for you reply!!

Do you mean.....
If I wan to add a IOCTL call, such as IOCTL_HAL_UPDATE
and I have to do these...
1. // ioctl_tab.h
.....................
{ IOCTL_HAL_UPDATE, 0, x86IoCtlUpdate },
.............
2. Write a update.c program and put in the folder
\wince500\platform\common\src\x86\common\ioctl\
.....................
bool x86IoCtlUpdate ( ...., ..., .... )
{ }


Am I right?



Thanks

Bryan 2004/09/30


>-----Original Message-----
>The CEPC BSP do NOT have \src\kernel\oal\ioctl.c nor the
\src\inc\ioctl.h.
>It only have a SRC\KERNEL\OAL\globals.c and it used the
pre-defined x86
>ioctl table ioctl_tab.h (COMMON\SRC\x86\INC).
>becase the last entry of ioctl_tab.h is all zero (the
End of Table), so
>we'll need to clone it into \src\inc (and have better
rename it into
>ioctl.h)!!
>Then add their own ioctl handler into the src\inc\ioctl.h
>
>
>"Yannick Chamming's [eMVP]"
<ychammings_nospam@adeset.com> ¼¶¼g©ó¶l¥ó·s»D
>:OA7$tMepEHA.3800@TK2MSFTNGP14.phx.gbl...
>> the PQOAL model of CE 5.0 implies that all CPU
specific code is in
>> Platform\Common. Only the board specific code is in
the BSP directory.
>> Consequently, the OEMIoControl function is no more
implemented as part of
>> the board specific code of the OAL. You only implement
specific ioctl
>> handlers.
>> To add your own ioctl, you can update the ioctl array
in inc\ioctl.h and
>add
>> your ioctl handler in kernel\oal\src\ioctl.c
>>
>>
>> --
>> -------------------------------------------------------
---------
>> Yannick Chamming's (eMVP)
>> ADESET
>> Windows Embedded Manager
>> ychammings AT adeset DOT com>
>> http://www.adeset.com
>> Tél : +33 (0)4.72.18.57.77
>> Fax : +33 (0)4.72.18.57.78
>> -------------------------------------------------------
---------
>>
>> "Bryan" <anonymous@discussions.microsoft.com> wrote in
message
>> news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
>> > Hi all,
>> >
>> > I wrote some function in C:\WINCE420
>> > \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
>> > in CE 4.2.
>> >
>> > But I can not find the "oemioctl.c" in CE 5.0, where
can
>> > I put my code if I want to modify the kernel?
>> >
>> > Thanks,
>> > Bryan.
>> >
>> >
>> >
>> >
>>
>>
>
>
>.
>



Re: CE 5.0 Kernel question by Yannick

Yannick
Thu Sep 30 00:26:32 CDT 2004

oops ! sorry !
I'm focusing too much on ARM architecture... I forgot that for CEPC, the BSP
is a bit more different !

--
----------------------------------------------------------------
Yannick Chamming's (eMVP)
ADESET
Windows Embedded Manager
ychammings AT adeset DOT com>
http://www.adeset.com
Tél : +33 (0)4.72.18.57.77
Fax : +33 (0)4.72.18.57.78
----------------------------------------------------------------

"K. S. Huang" <ks_huang@AlphaNetworks.com_remove.this> wrote in message
news:#qVrTBgpEHA.3592@TK2MSFTNGP09.phx.gbl...
> The CEPC BSP do NOT have \src\kernel\oal\ioctl.c nor the \src\inc\ioctl.h.
> It only have a SRC\KERNEL\OAL\globals.c and it used the pre-defined x86
> ioctl table ioctl_tab.h (COMMON\SRC\x86\INC).
> becase the last entry of ioctl_tab.h is all zero (the End of Table), so
> we'll need to clone it into \src\inc (and have better rename it into
> ioctl.h)!!
> Then add their own ioctl handler into the src\inc\ioctl.h
>
>
> "Yannick Chamming's [eMVP]" <ychammings_nospam@adeset.com> ¼¶¼g©ó¶l¥ó·s»D
> :OA7$tMepEHA.3800@TK2MSFTNGP14.phx.gbl...
> > the PQOAL model of CE 5.0 implies that all CPU specific code is in
> > Platform\Common. Only the board specific code is in the BSP directory.
> > Consequently, the OEMIoControl function is no more implemented as part
of
> > the board specific code of the OAL. You only implement specific ioctl
> > handlers.
> > To add your own ioctl, you can update the ioctl array in inc\ioctl.h and
> add
> > your ioctl handler in kernel\oal\src\ioctl.c
> >
> >
> > --
> > ----------------------------------------------------------------
> > Yannick Chamming's (eMVP)
> > ADESET
> > Windows Embedded Manager
> > ychammings AT adeset DOT com>
> > http://www.adeset.com
> > Tél : +33 (0)4.72.18.57.77
> > Fax : +33 (0)4.72.18.57.78
> > ----------------------------------------------------------------
> >
> > "Bryan" <anonymous@discussions.microsoft.com> wrote in message
> > news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
> > > Hi all,
> > >
> > > I wrote some function in C:\WINCE420
> > > \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
> > > in CE 4.2.
> > >
> > > But I can not find the "oemioctl.c" in CE 5.0, where can
> > > I put my code if I want to modify the kernel?
> > >
> > > Thanks,
> > > Bryan.
> > >
> > >
> > >
> > >
> >
> >
>
>



Re: CE 5.0 Kernel question by Bryan

Bryan
Thu Sep 30 23:37:06 CDT 2004

Hi,

I have created another BSP to modify.
But if I put my ioctl code to my BSP folder,
how do I link my ioctl function with oal_ioctl_x86.lib ?
Because the oal_ioctl_x86.lib is in the \common\src\x86
\ioctl.

Thanks,

Bryan.


>-----Original Message-----
>Well,
>I think you have better put your modified source code=20
under your BSP
>directory instead of the common directory.
>Becasue the COMMON\SRC\X86 is shared for all of the x86=20
platforms, and other
>platform may NOT have the ability of your own ioctl=20
codes.
>
>"Bryan" <anonymous@discussions.microsoft.com>
>???????:40d801c4a69c$f45819e0$a501280a@phx.gbl...
>Hi,
>
>Thanks for you reply!!
>
>Do you mean.....
>If I wan to add a IOCTL call, such as IOCTL_HAL_UPDATE
>and I have to do these...
>1. // ioctl_tab.h
> .....................
> { IOCTL_HAL_UPDATE, 0, x86IoCtlUpdate },
> .............
>2. Write a update.c program and put in the folder
> \wince500\platform\common\src\x86\common\ioctl\
> .....................
> bool x86IoCtlUpdate ( ...., ..., .... )
> { }
>
>
>Am I right?
>
>
>
>Thanks
>
>Bryan 2004/09/30
>
>
>>-----Original Message-----
>>The CEPC BSP do NOT have \src\kernel\oal\ioctl.c nor the
>\src\inc\ioctl.h.
>>It only have a SRC\KERNEL\OAL\globals.c and it used the
>pre-defined x86
>>ioctl table ioctl_tab.h (COMMON\SRC\x86\INC).
>>becase the last entry of ioctl_tab.h is all zero (the
>End of Table), so
>>we'll need to clone it into \src\inc (and have better
>rename it into
>>ioctl.h)!!
>>Then add their own ioctl handler into the=20
src\inc\ioctl.h
>>
>>
>>"Yannick Chamming's [eMVP]"
><ychammings_nospam@adeset.com> =BC=B6=BCg=A9=F3=B6l=A5=F3=B7s=BBD
>>:OA7$tMepEHA.3800@TK2MSFTNGP14.phx.gbl...
>>> the PQOAL model of CE 5.0 implies that all CPU
>specific code is in
>>> Platform\Common. Only the board specific code is in
>the BSP directory.
>>> Consequently, the OEMIoControl function is no more
>implemented as part of
>>> the board specific code of the OAL. You only implement
>specific ioctl
>>> handlers.
>>> To add your own ioctl, you can update the ioctl array
>in inc\ioctl.h and
>>add
>>> your ioctl handler in kernel\oal\src\ioctl.c
>>>
>>>
>>> --
>>> ------------------------------------------------------
-
>---------
>>> Yannick Chamming's (eMVP)
>>> ADESET
>>> Windows Embedded Manager
>>> ychammings AT adeset DOT com>
>>> http://www.adeset.com
>>> T=E9l : +33 (0)4.72.18.57.77
>>> Fax : +33 (0)4.72.18.57.78
>>> ------------------------------------------------------
-
>---------
>>>
>>> "Bryan" <anonymous@discussions.microsoft.com> wrote in
>message
>>> news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
>>> > Hi all,
>>> >
>>> > I wrote some function in C:\WINCE420
>>> > \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
>>> > in CE 4.2.
>>> >
>>> > But I can not find the "oemioctl.c" in CE 5.0, where
>can
>>> > I put my code if I want to modify the kernel?
>>> >
>>> > Thanks,
>>> > Bryan.
>>> >
>>> >
>>> >
>>> >
>>>
>>>
>>
>>
>>.
>>
>
>
>.
>

Re: CE 5.0 Kernel question by K

K
Fri Oct 01 05:56:20 CDT 2004

you do not need to modify any code of OAL_ioctl_x86.lib,
what you need to do is write your own ioctl handler and link it and the
original x86 ioctl library into your new kernel (nk.exe)

"Bryan" <anonymous@discussions.microsoft.com>
???????:29e001c4a770$4e1bd880$a601280a@phx.gbl...
Hi,

I have created another BSP to modify.
But if I put my ioctl code to my BSP folder,
how do I link my ioctl function with oal_ioctl_x86.lib ?
Because the oal_ioctl_x86.lib is in the \common\src\x86
\ioctl.

Thanks,

Bryan.


>-----Original Message-----
>Well,
>I think you have better put your modified source code
under your BSP
>directory instead of the common directory.
>Becasue the COMMON\SRC\X86 is shared for all of the x86
platforms, and other
>platform may NOT have the ability of your own ioctl
codes.
>
>"Bryan" <anonymous@discussions.microsoft.com>
>???????:40d801c4a69c$f45819e0$a501280a@phx.gbl...
>Hi,
>
>Thanks for you reply!!
>
>Do you mean.....
>If I wan to add a IOCTL call, such as IOCTL_HAL_UPDATE
>and I have to do these...
>1. // ioctl_tab.h
> .....................
> { IOCTL_HAL_UPDATE, 0, x86IoCtlUpdate },
> .............
>2. Write a update.c program and put in the folder
> \wince500\platform\common\src\x86\common\ioctl\
> .....................
> bool x86IoCtlUpdate ( ...., ..., .... )
> { }
>
>
>Am I right?
>
>
>
>Thanks
>
>Bryan 2004/09/30
>
>
>>-----Original Message-----
>>The CEPC BSP do NOT have \src\kernel\oal\ioctl.c nor the
>\src\inc\ioctl.h.
>>It only have a SRC\KERNEL\OAL\globals.c and it used the
>pre-defined x86
>>ioctl table ioctl_tab.h (COMMON\SRC\x86\INC).
>>becase the last entry of ioctl_tab.h is all zero (the
>End of Table), so
>>we'll need to clone it into \src\inc (and have better
>rename it into
>>ioctl.h)!!
>>Then add their own ioctl handler into the
src\inc\ioctl.h
>>
>>
>>"Yannick Chamming's [eMVP]"
><ychammings_nospam@adeset.com> ¼¶¼g©ó¶l¥ó·s»D
>>:OA7$tMepEHA.3800@TK2MSFTNGP14.phx.gbl...
>>> the PQOAL model of CE 5.0 implies that all CPU
>specific code is in
>>> Platform\Common. Only the board specific code is in
>the BSP directory.
>>> Consequently, the OEMIoControl function is no more
>implemented as part of
>>> the board specific code of the OAL. You only implement
>specific ioctl
>>> handlers.
>>> To add your own ioctl, you can update the ioctl array
>in inc\ioctl.h and
>>add
>>> your ioctl handler in kernel\oal\src\ioctl.c
>>>
>>>
>>> --
>>> ------------------------------------------------------
-
>---------
>>> Yannick Chamming's (eMVP)
>>> ADESET
>>> Windows Embedded Manager
>>> ychammings AT adeset DOT com>
>>> http://www.adeset.com
>>> Tél : +33 (0)4.72.18.57.77
>>> Fax : +33 (0)4.72.18.57.78
>>> ------------------------------------------------------
-
>---------
>>>
>>> "Bryan" <anonymous@discussions.microsoft.com> wrote in
>message
>>> news:337601c4a5c4$6d561e70$a501280a@phx.gbl...
>>> > Hi all,
>>> >
>>> > I wrote some function in C:\WINCE420
>>> > \PLATFORM\CEPC\KERNEL\HAL\oemioctl.c
>>> > in CE 4.2.
>>> >
>>> > But I can not find the "oemioctl.c" in CE 5.0, where
>can
>>> > I put my code if I want to modify the kernel?
>>> >
>>> > Thanks,
>>> > Bryan.
>>> >
>>> >
>>> >
>>> >
>>>
>>>
>>
>>
>>.
>>
>
>
>.
>