Re: [Fault-injection-developer] FITH utility usage model draft
Status: Alpha
Brought to you by:
rustyl
|
From: Rusty L. <ru...@li...> - 2003-01-15 17:28:34
|
Kevin, it looks like your email client added newlines, making your email
pretty hard to read. Could you resend without the extra newlines?
-rustyl
On Tue, 2003-01-14 at 18:11, Gao, Kevin wrote:
> FITH Utility Usage Model draft:
>=20
> 1. I think useing old fsml (xml file format) file for user to build a
> trigger (IRQ trigger used
> different model, ".xml", it is xml file format yet.) is still a g=
ood
> choise. User only needs one=20
> template (using our test cases), and then changing some parameters i=
s
> enough.
> =20
> The draft fsml:
>=20
> <?xml encoding=3D"UTF-8" ?>
> <fsml:fsml xmlns:fsml=3D"http://fault-injection.sourceforge.net/FSML">
> <fsml:trigger
> id=3D"string" <!-- Required, but
> not used in current release -->
> name=3D"string" <!-- trigger name,
> it should be exclusive -->
> interceptor=3D"string" <!-- Required,
> intercptor name, e.g. pf, dbp... -->
> type=3D"[m|seq_io|pci_config]|{r|w}" <!-- Required, 'm'
> means capture MMIO while=20
> =09
> default is IO. 'seq_io' means capture specific =20
> IO sequence.
> 'pci_config' means capture PCI =20
> configuration
> access. You could select one or =20
> none from the
> previous three types. 'r' and=20
> 'w' stand for
> capturing read or write access.=20
> =09
> You must select at least one of them. -->
> len=3D"1|2|4" <!-- Required,
> corrupted address length -->
> addr=3D"0xXXXXXXXX"
>=20
> <!-- The following two attributes are only used for type
> =E2=80=9Cseq_io=E2=80=9D-->
> index_addr=3D"0xXXXXXXXX"
> data_addr=3D"0xXXXXXXXX"
>=20
> <!-- The following four attributes are only used for
> type =E2=80=9Cpci_config=E2=80=9D-->
> bus=3D"unsigned integer"
> slot=3D"unsigned integer"
> func=3D"unsigned integer"
> reg_no=3D"unsigned integer"
>=20
> <!-- NOTICE! YOU SHOULDMUST NOT SET THESE ATTRIBUTES AS
> NEGATIVE!!!
> bitmask/min/max are optional. bitmask/min/max allow you
>=20
> to specify a condition logic. The trigger starts to
> work only=20
> if it meets "min <=3D captured data & ~bitmask < max"
> condition.=20
> By default, the condition is always met.
> --> =09
> bitmask=3D"0xXXXXXXXX"
> min=3D"unsigned integer"
> max=3D"unsigned integer"
>=20
> <!-- Optional. Default to 0. trigger starts to work after
> the=20
> specified access type happens 'skip' times. -->
> skip=3D"unsigned integer"
>=20
> <!-- Optional. Default to 0, never stops. Trigger will
> stop=20
> to work after the specified access type happens 'stop'
> times -->
> stop=3D"unsigned integer"
>=20
> <!-- Optional. Default to 0, no protection! bit set to
> 1 in=20
> this mask will never be corrupted or modified. This
> only=20
> applies to write fault injectionFI. -->
> protection_mask=3D"0xXXXXXXXX"
> <!-- Optional. Default to be 1 and not allow being
> negative.=20
> Trigger is activated once every 'hz' times with
> considerations=20
> of 'skip' and 'stop'. -->
> HZ=3D"unsigned integer"
> >
> <fsml:action codesegment=3D"string" /> <!-- Execute
> the specified Code-Segment=E2=80=99s=20
> =09
> name. You must NOT use Code-Segment and
> the
> other actions simultaneously. --> =20
> <fsml:set val=3D"0xXXXXXXXX" /> <!--
> Captured data is replaced with this 'val' -->
> <fsml:and val=3D"0xXXXXXXXX" /> <!--
> Captured data & 'val' -->
> <fsml:or val=3D"0xXXXXXXXX" /> <!--
> Captured data | val' -->
> <fsml:not /> <!--
> !Captured data -->
> <fsml:xor val=3D"0xXXXXXXXX" /> <!--
> Captured data ^ 'val' -->
> <fsml:nand val=3D"0xXXXXXXXX" /> <!--
> !(Captured data & 'val') -->
> <fsml:nor val=3D"0xXXXXXXXX" /> <!--
> !(Captured data | 'val') -->
> <fsml:add val=3D"0xXXXXXXXXX" /> <!--
> Captured data + 'val' -->
> <fsml:sub val=3D"0xXXXXXXXX" /> <!--
> Captured data - 'val' -->
> </fsml:trigger>
> </fsml:fsml>
>=20
> IRQ trigger will not be changed:
>=20
> <?xml version=3D"1.0" encoding=3D"UTF-8" ?>
> <fake_irq=20
> <!-- NOTICE! YOU SHOULDMUST NOT SET THESE ATTRIBUTES AS
> NEGATIVE!!! =C3=A0
> <!-- the intercepted IRQ number. -->
> irq=3D"unsigned integer"
> =20
> <!-- The IRQ device name. You can get it by =E2=80=98cat
> /proc/interrupt=E2=80=99. FITH use the
> name to distinguish IRQ handlers in the same IRQ name. -->
> devname=3D"dummy"
>=20
> <!-- Optional. The IRQ will isbe spurious every X timer ticker.=
X
> is the value of the=20
> attribute. Vaild range [0, 0x7FFFFFFF] -->
> spurious_hertz=3D"unsigned integer"
>=20
> <!-- Optional. The IRQ will isbe delayed every Y times. Y is th=
e
> value of the
> attribute. Vaild range [0, 0x7FFFFFFF] -->
> delay_hertz=3D"unsigned integer"
>=20
> <!-- Optional. The default value =E2=80=980=E2=80=99 means =E2=
=80=98delay unlimited
> time=E2=80=99. FITH will
> delays the delayed IRQ Z timer ticker. Z is the value of the
> attribute.
> Vaild range [0, 0x7FFFFFFF] -->
> delay_time=3D"unsigned integer"
> />
>=20
> 2. The execution file of FITH utility is still "ficl", and most of the
> functionality will be not changed.
> So old user will change little about their test cases.=20
> =20
> The usage model of "ficl" command:
>=20
> --insert, -i <file.fsml>
> insert a faultset written in file.fsml into FITH, enable the
> faultset and return the SN of the faultset.
>=20
> --remove, -r <SN>|all
> remove the faultset specified by SN. Also you can use '-r all' to
> remove all faultset.=20
>=20
> --disable, -d <SN>|all
> --enable, -e <SN>|all
> disable/enable the faultset specified by SN. Also you can use '-d
> all'/'-e all' to disable/enable all faultset.=20
>=20
> --setirq, -s <file.xml>
> --clrirq, -c=20
> set/clear irq IRQ faultset. Notice, irq IRQ faultset is different
> and does not use fsml format. Please also read examples in
> fith/test/src/fault_set/fun_test/irq*.xml.=20
>=20
> --verbose, -v
> verbose mode=20
>=20
> --version, -V
> print version information=20
>=20
> --help, -h
> print help information
>=20
> There is a still issue, do we need to use ficl command to insert and
> register the codesegment instead of user register it.
> If so we will add new command parameter to do that thing.
>=20
> Any comment/idea?
> =20
> -Kevin
>=20
>=20
> -------------------------------------------------------
> This SF.NET email is sponsored by: Take your first step towards giving=20
> your online business a competitive advantage. Test-drive a Thawte SSL=20
> certificate - our easy online guide will show you how. Click here to get=20
> started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
> _______________________________________________
> Fault-injection-developer mailing list
> Fau...@li...
> https://lists.sourceforge.net/lists/listinfo/fault-injection-developer
|