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 |