ELF>h@@GNUg=諕xZAUHATSHIt7HI$I$1[A\f.H(Ht勗ht81fDI$(HcH4Ht I$0A9$hwI$0I$([A\UHATSHHL#u *IHHLII$uHHL#u#IHHLII$uHHL#u +IHHLII$uH=[A\fff.UHH H]LeLm LHHu5HID$AHID$EH]LeD LmH1fffff.UHH t]vc@HtO Ht:L@Ht%Ht0HuOfDHtvzHtHt̃HtH11fDHt Ht0Hu@H`vNHNHu H(HHHG@HH9HH  HHfffff.UHHLd$A5H$HuuDǃǃHǃfǃ$fǃ&ǃǃǃǃǃLd$H$1sHH1nffff.UHHH]LeLmLuL}HHtGHHHHtFHHHHH;s-H]LeLmLuL}H1H룋 AH=1E11IH4HI9LGH9HBHIH9uH{LuL01IHI6HIHIT5HHHu܅HEHxtCAL 1LI49L1H;0H uHL9uH1(LH15H1(L1HHH1HH1LH11L0$L1I H1HA t5DAAtӉITH0HH9w뾐HcHDՀH1HE11IWfffff.UH`tEvK t6vdt' t tH11fD tv?0tPtރuDqtɁ tpufDtufUHAVAUATSHD I1IE1E1EE$$IcHH)IcHpthEt[HLcHL1H)JIHI)fD 3t EuHHD9|ADːAIA NAEfA$$D EfADŽ$$1LH[A\A]A^fE$$IcHH)IcHЋA3$YDEH[A\A]A^HcHHH)HI$A$$fA$&A$&I$fADŽ$$ A$|A$DE1H[A\A]A^Ë=A$$A$ЃA fA$$H[A\A]A^A$$fA$&L=A$LAcA$HEHMH‰H11*H12A$HH1H1PH1JfUHDEuH1@UHSHXHH]eH%(HE1HHHUeH3%(uHX[fDUHATSHHAHA<;wLH8HcDD;Dt[A\ftDH1H1HA+4HH1̐UHAVAUATSHLLl IHI I LL)HHwwM9LJPv)d@PIHcʃM9HPr=LLHuͺPLLHt'HHEHEfD1H[A\A]A^I>PLLHuP~*IE1IAID;P|fff.UHAWAVAUATSH(HUIILHIMHcЅHUeH%eL4%LHHǀHAFANLLHuLLEHEAfLEeH%LHP~&IE1IAID;P|HEH([A\A]A^A_HuLLLLELEHEUHAWAVAUATSH(HUIILHIMHcЅHUeH%eL4%LHHǀHAFANLLHuLLEHEAfLEeH%LHP~&IE1IAID;P|HEH([A\A]A^A_HuLLLLELEHEUHH0H]LeLmLuH=AuH]LeLmLuÐ=?w=v15tA@E1AADmA1DAu܉։AHH8@08HHD4D01A (E ^ 8h t {     4 h     & 8 ~  4 h  0         Bu ~  2R   Bir  3mtL P P   244p 48)<4 9@<Kjq<w @ @ 4N4jq48<<f4|84<C-,3 0E 0s448   4"87  >V 8]4h4|454H  O[ b H  @       F  \k  r~     P  X p    $9 @O Ve l  X  (5 <H `Od i{ 4c4* 4c Pj  4!4! !S" HZ"n" s"y"3" X"" "" H"" ## %#<###r$4$ 8$$ $$ $$ $ % %(%5% D% T%4f% m%{%4% @%%!&3|&3&3& && &' #'R'3b' Pi'' '' x'' '' X'') 0$))4)3*4#+7x+3N, U,a, h,, ,, (,, ,, ,, ,- (--  -2- 9-f- pm-- 8-UHATSH1HHLI$8LH=I<$I( uH=[A\,4;@P\afUHAWAVAUATSH85ttH1A H5Ѐ HHuHAu LHLHA$I$ID$PID$ID$XID$ ID$(ID$0ID$ADŽ$=u =t ǃ ǃǃ @   =uǃA$HHǀPHHL}HEH}1LD7AuA0tH1A H}A?:uH1LH}AHEȀ8,uHHEH5Ѐ HDhDpHHHHEȀ8JHHL}HEH}1LD7AuA0tH1A! H}A?:uH1LH}AHEȀ8,uHHEH5Ѐ HDhDpHHHHEȀ8JHHL}HEH}1LD7AuA0tH1AS H}A?:uH1LH}AHEȀ8,uHHEH5Ѐ HuHADhDpHHHHEȀ87H=At1HEDO toHrHHHHH9tH1HBI$H QDA$HA$A$=HtIHH@1ҾЀHH<HHuHAHHHLI$@tH1LJ1҃A$LPM$@pA$LDHAE$PD@A1A$`LIDE$HA$hHLI$XADA$pADA$xDADŽ$ A$t1A$lAFE$duADŽ$ Kub"EA$ )uADŽ$ H1xA$ tBI$@wADŽ$|ADŽ$ZADŽ$|ADŽ$@I$@wADŽ$|ADŽ$ADŽ$|ADŽ$= I$@MH1E1lE$HL.HI9wMuH1AiDHUHMHuAIHMMnINHULHuI(L)A9rHA$tb vH1ADHUHMHIcHk(J4 HMIHHHUHPA$1#; uu A$  HcHk0HuA$uH1I$@H1HA$LH1A$PH1A$HH1 A$hH1A$lH1A$H1A$pH1A$tH1A$xH1I$XH1H A$|H1A$H1A$ H1H=HBH=IvAH@ HtHxu Hx uH1AIHxu Hx(uH1A"A$hHI$uHAA$`HI$u$HAI$I$A$h1M$HA$hH1HI$(u'HI$(HcʃHA;$hrA$`E111HHI$0uH1LgA$`HHI$8uA$`H1A'A$`HHL%HuLLmHEH}1LD7uA0tHLI$HtH1HEȀ8,uHHEHEȀ8uH=AuH=HAtJH8E1HH=H;AH(A uH=H8D[A\A]A^A_AAA$ 1=LV_ j ' %  0 0#  % = IUam $  /J,Q 0Vj p< @$8 Zn { @L P#3 8OZu |LD  8"B xI ${= e (r ||  4 :B (_ t X{       1  G + V2 A oH W ^ m x           9 F X l 8w        J O c  h w   P  ,      : E  L r w           cache_fileoverridesizerptweargravepagesbitflipsweakpagesweakblocksbadblocksparts dbglogdo_delaysbus_widthinput_cycleoutput_cycleerase_delayprogramm_delayaccess_delayfourth_id_bytethird_id_bytesecond_id_bytefirst_id_bytehpx<7>[nandsim] debug: read_word <3>[nandsim] error: get_state_name: unknown state, BUG <7>[nandsim] debug: switch_to_ready_state: switch to %s state <3>[nandsim] error: Erase counter total overflow <3>[nandsim] error: Erase counter overflow for erase block %u <6>[nandsim] *** Wear Report *** <6>[nandsim] Total numbers of erases: %lu <6>[nandsim] Number of erase blocks: %u <6>[nandsim] Average number of erases: %lu <6>[nandsim] Maximum number of erases: %lu <6>[nandsim] Minimum number of erases: %lu <6>[nandsim] Number of ebs with erase counts from %lu to %lu : %lu <6>[nandsim] *** End of Wear Report *** <3>[nandsim] error: get_state_by_command: unknown command, BUG <7>[nandsim] debug: find_operation: operation found, index: %d, state: %s, nxstate %s <7>[nandsim] debug: find_operation: no operation found, try again with state %s <7>[nandsim] debug: find_operation: no operations found <7>[nandsim] debug: find_operation: BUG, operation must be known if address is input <7>[nandsim] debug: find_operation: there is still ambiguity <7>[nandsim] debug: device_ready <3>[nandsim] error: wrong bus width (%d), use only 8 or 16 <3>[nandsim] error: unable to allocate core structures. <3>[nandsim] error: invalid weakblocks. <3>[nandsim] error: unable to allocate memory. <3>[nandsim] error: invalid weakpagess. <3>[nandsim] error: invalid gravepagess. <3>[nandsim] error: can't register NAND Simulator <3>[nandsim] error: overridesize is too big <3>[nandsim] error: Too many erase blocks for wear reporting <3>[nandsim] error: init_nandsim: nandsim is already initialized <3>[nandsim] error: init_nandsim: unknown page size %u <3>[nandsim] error: too many partitions. <3>[nandsim] error: bad partition size. <4>[nandsim] warning: 16-bit flashes support wasn't tested flash size with OOB: %llu KiB <3>[nandsim] error: alloc_device: cache file not readable <3>[nandsim] error: alloc_device: cache file not writeable <3>[nandsim] error: alloc_device: unable to allocate pages written array <3>[nandsim] error: alloc_device: unable to allocate file buf <3>[nandsim] error: alloc_device: unable to allocate page array <3>[nandsim] error: cache_create: unable to create kmem_cache <3>[nandsim] error: init_nandsim: unable to allocate %u bytes for the internal buffer <3>[nandsim] error: invalid badblocks. <3>[nandsim] error: write_buf: data input isn't expected, state is %s, switch to STATE_READY <3>[nandsim] error: write_buf: too many input bytes <7>[nandsim] debug: write_buf: %d bytes were written <4>[nandsim] warning: read_page: flipping bit %d in page %d reading from %d ecc: corrected=%u failed=%u <4>[nandsim] warning: simulating read error in page %u <4>[nandsim] warning: do_state_action: wrong page number (%#x) <3>[nandsim] error: do_state_action: column number is too large <7>[nandsim] debug: read_page: page %d not written <7>[nandsim] debug: read_page: page %d written, reading from %d <3>[nandsim] error: read_page: read error for page %d ret %ld <7>[nandsim] debug: read_page: page %d not allocated <7>[nandsim] debug: read_page: page %d allocated, reading from %d <7>[nandsim] debug: do_state_action: (ACTION_CPY:) copy %d bytes to int buf, raw offset %d <7>[nandsim] log: read page %d <7>[nandsim] log: read page %d (second half) <7>[nandsim] log: read OOB of page %d <3>[nandsim] error: do_state_action: device is write-protected, ignore sector erase <3>[nandsim] error: do_state_action: wrong sector address (%#x) <7>[nandsim] debug: do_state_action: erase sector at address %#x, off = %d <7>[nandsim] log: erase sector %u <7>[nandsim] debug: erase_sector: freeing page %d <4>[nandsim] warning: simulating erase failure in erase block %u <4>[nandsim] warning: do_state_action: device is write-protected, programm <3>[nandsim] error: do_state_action: too few bytes were input (%d instead of %d) <7>[nandsim] debug: prog_page: writing page %d <3>[nandsim] error: prog_page: read error for page %d ret %ld <3>[nandsim] error: prog_page: write error for page %d ret %ld <7>[nandsim] debug: prog_page: allocating page %d <3>[nandsim] error: prog_page: error allocating memory for page %d <7>[nandsim] debug: do_state_action: copy %d bytes from int buf to (%#x, %#x), raw off = %d <7>[nandsim] log: programm page %d <4>[nandsim] warning: simulating write failure in page %u <7>[nandsim] debug: do_state_action: set internal offset to 0 <3>[nandsim] error: do_state_action: BUG! can't skip half of page for non-512byte page size 8x chips <7>[nandsim] debug: do_state_action: set internal offset to %d <7>[nandsim] debug: do_state_action: BUG! unknown action <7>[nandsim] debug: switch_state: operation is known, switch to the next state, state: %s, nxstate: %s <7>[nandsim] debug: switch_state: operation is unknown, try to find it <7>[nandsim] debug: switch_state: double the column number for 16x device <4>[nandsim] warning: switch_state: not all bytes were processed, %d left <7>[nandsim] debug: switch_state: operation complete, switch to STATE_READY state <7>[nandsim] debug: switch_state: the next state is data I/O, switch, state: %s, nxstate: %s <3>[nandsim] error: switch_state: BUG! unknown data state <3>[nandsim] error: switch_state: BUG! unknown address state <3>[nandsim] error: read_buf: chip is disabled <3>[nandsim] error: read_buf: ALE or CLE pin is high <4>[nandsim] warning: read_buf: unexpected data output cycle, current state is %s <3>[nandsim] error: read_buf: too many bytes to read <7>[nandsim] debug: read_buf: switch to the next page (%#x) <7>[nandsim] debug: verify_buf: the buffer is OK <7>[nandsim] debug: verify_buf: the buffer is wrong <3>[nandsim] error: read_byte: chip is disabled, return %#x <3>[nandsim] error: read_byte: ALE or CLE pin is high, return %#x <4>[nandsim] warning: read_byte: unexpected data output cycle, state is %s return %#x <7>[nandsim] debug: read_byte: return %#x status <4>[nandsim] warning: read_byte: no more data to output, return %#x <7>[nandsim] debug: read_byte: read ID byte %d, total = %d <7>[nandsim] debug: read_byte: all bytes were read <7>[nandsim] debug: read_byte: switch to the next page (%#x) <3>[nandsim] error: write_byte: chip is disabled, ignore write <3>[nandsim] error: write_byte: ALE and CLE pins are high simultaneously, ignore write <4>[nandsim] warning: write_byte: command (%#x) wasn't expected, expected state is %s, ignore previous states <7>[nandsim] debug: command byte corresponding to %s state accepted <7>[nandsim] debug: write_byte: operation isn't known yet, identify it <3>[nandsim] error: write_byte: address (%#x) isn't expected, expected state is %s, switch to STATE_READY <3>[nandsim] error: write_byte: no more address bytes expected <7>[nandsim] debug: write_byte: address byte %#x was accepted (%d bytes input, %d expected) <7>[nandsim] debug: address (%#x, %#x) is accepted <3>[nandsim] error: write_byte: data input (%#x) isn't expected, state is %s, switch to %s <4>[nandsim] warning: write_byte: %u input bytes has already been accepted, ignore write <3>[nandsim] error: write_byte: unknown command %#x STATE_CMD_READ1STATE_CMD_READ0STATE_CMD_PAGEPROGSTATE_CMD_READOOBSTATE_CMD_READSTARTSTATE_CMD_ERASE1STATE_CMD_STATUSSTATE_CMD_STATUS_MSTATE_CMD_SEQINSTATE_CMD_READIDSTATE_CMD_ERASE2STATE_CMD_RESETSTATE_CMD_RNDOUTSTATE_CMD_RNDOUTSTARTSTATE_ADDR_PAGESTATE_ADDR_SECSTATE_ADDR_ZEROSTATE_ADDR_COLUMNSTATE_DATAINSTATE_DATAOUTSTATE_DATAOUT_IDSTATE_DATAOUT_STATUSSTATE_DATAOUT_STATUS_MSTATE_READYSTATE_UNKNOWNNAND simulator partition %dflash size: %llu MiB page size: %u bytes OOB area size: %u bytes sector size: %u KiB pages number: %u pages per sector: %u bus width: %u bits in sector size: %u bits in page size: %u bits in OOB size: %u page address bytes: %u sector address bytes: %u options: %#x nandsimdrivers/mtd/nand/nandsim.c<7>[nandsim] log: reset chip & +description=The NAND flash simulatorauthor=Artem B. Bityuckiylicense=GPLparm=cache_file:File to use to cache nand pages instead of memoryparm=overridesize:Specifies the NAND Flash size overriding the ID bytes. The size is specified in erase blocks and as the exponent of a power of two e.g. 5 means a size of 32 erase blocksparm=rptwear:Number of erases inbetween reporting wear, if not zeroparm=gravepages:Pages that lose data [: maximum reads (defaults to 3)] separated by commas e.g. 1401:2 means page 1401 can be read only twice before failingparm=bitflips:Maximum number of random bit flips per page (zero by default)parm=weakpages:Weak pages [: maximum writes (defaults to 3)] separated by commas e.g. 1401:2 means page 1401 can be written only twice before failingparm=weakblocks:Weak erase blocks [: remaining erase cycles (defaults to 3)] separated by commas e.g. 113:2 means eb 113 can be erased only twice before failingparm=badblocks:Erase blocks that are initially marked bad, separated by commasparm=parts:Partition sizes (in erase blocks) separated by commasparm=dbg:Output debug information if not zeroparm=log:Perform logging if not zeroparm=do_delays:Simulate NAND delays using busy-waits if not zeroparm=bus_width:Chip's bus width (8- or 16-bit)parm=input_cycle:Word input (to flash) time (nanodeconds)parm=output_cycle:Word output (from flash) time (nanodeconds)parm=erase_delay:Sector erase delay (milliseconds)parm=programm_delay:Page programm delay (microsecondsparm=access_delay:Initial page access delay (microseconds)parm=fourth_id_byte:The fourth byte returned by NAND Flash 'read ID' commandparm=third_id_byte:The third byte returned by NAND Flash 'read ID' commandparm=second_id_byte:The second byte returned by NAND Flash 'read ID' command (chip ID)parm=first_id_byte:The first byte returned by NAND Flash 'read ID' command (manufacturer ID)parmtype=cache_file:charpparmtype=overridesize:uintparmtype=rptwear:uintparmtype=gravepages:charpparmtype=bitflips:uintparmtype=weakpages:charpparmtype=weakblocks:charpparmtype=badblocks:charpparmtype=parts:array of ulongparmtype=dbg:uintparmtype=log:uintparmtype=do_delays:uintparmtype=bus_width:uintparmtype=input_cycle:uintparmtype=output_cycle:uintparmtype=erase_delay:uintparmtype=programm_delay:uintparmtype=access_delay:uintparmtype=fourth_id_byte:uintparmtype=third_id_byte:uintparmtype=second_id_byte:uintparmtype=first_id_byte:uintretpoline=Ysrcversion=0D0006EFEC083D5DA056F88depends=nand,nand_idsvermagic=2.6.32-754.35.1.el6.x86_64 SMP mod_unload modversions  ( 8@HP`hp x +4 >(I(080@SPX``hx8<@ (0@HPXhpx   08@ HX`h$xe (508U@HPX`hpxXX @#Rmodule_layout_Wnkmem_cache_destroy9Oper_cpu__current_task\4Z__kmallochvmallocˑmalloc_sizes řparam_set_ulong) simple_strtoulfCparam_array_getTofilp_close__const_udelay=add_mtd_partitions-̒Qnand_releasevfreeZ,<sprintf'wEparam_array_setkstrdupC__list_add@4Aparam_get_charpvfs_read memsetJnrandom32csprintkE nand_default_bbtwrite_inode_nowfind_or_create_page9mcount )skmem_cache_freemper_cpu__kernel_stack[D!list_delhunlock_page\kmem_cache_alloc__stack_chk_failparam_get_uint nand_scan\ɢ.__x86_indirect_thunk_rax lvparam_get_ulongD kmem_cache_alloc_trace9kmem_cache_createejparam_set_charp zkfreedl#memcpyH̅2param_set_uintrput_pagerknand_flash_idsLfind_get_pagek}__udelayavfs_writeCqfilp_open2(9@@P`   @  P  `  00@ @  00080@@H@PPXPnandsim  `dmodule.sig^_ ǽqǸNPHUՙ?aP=M!xr2n-GxS/]Zgٲ~l7@ޏ    "0.@9PEHVohnr8 X` P@W`l  , Z- <F'S%Ie0 w0# %{$ (  0' $10;@FO s _<c@m| %0J `B,D=QLcv@OA.@%A/ :`>3,6D ;Z`MrK W](  (() B WP(g{@ x( ` (+  ("4 8 P(c> z (I  @(S`0 h(+ <(HX@ o( ` (  (  50(J c |X(  (  (%  >  Z (q  @  (  `   (  %  @ H(V p w     #   @  @    0  * 3 oB Q X ^ n          P  ) ? O V Pd x               ) 4 D S c p x   nandsim.cfree_devicefree_listsweak_blocksweak_pagesgrave_pageserase_block_wearns_cleanup_modulensmtdns_nand_read_worddbgget_state_nameswitch_to_ready_stateupdate_weartotal_wearrptwear_cntrptwearwear_eb_countget_state_by_commandfind_operationopsns_device_readyget_partition_namens_init_modulebus_widthns_hwcontrolns_nand_read_bytens_nand_write_bufns_nand_read_bufns_nand_verify_bufthird_id_bytefourth_id_bytefirst_id_bytesecond_id_byteweakblocksweakpagesgravepagesoverridesizeparts_numpartscache_filebadblocksget_pagesread_filewrite_filebitflipsdo_state_actionlogdo_delaysprogramm_delayoutput_cycleaccess_delayinput_cycleerase_delayswitch_statens_verify_buf__mod_description2364__mod_author2363__mod_license2362__mod_cache_file161__mod_overridesize160__mod_rptwear157__mod_gravepages156__mod_bitflips153__mod_weakpages152__mod_weakblocks149__mod_badblocks146__mod_parts144__mod_dbg143__mod_log142__mod_do_delays141__mod_bus_width140__mod_input_cycle139__mod_output_cycle138__mod_erase_delay137__mod_programm_delay136__mod_access_delay135__mod_fourth_id_byte134__mod_third_id_byte133__mod_second_id_byte132__mod_first_id_byte131__mod_cache_filetype129__param_cache_file__param_str_cache_file__mod_overridesizetype128__param_overridesize__param_str_overridesize__mod_rptweartype127__param_rptwear__param_str_rptwear__mod_gravepagestype126__param_gravepages__param_str_gravepages__mod_bitflipstype125__param_bitflips__param_str_bitflips__mod_weakpagestype124__param_weakpages__param_str_weakpages__mod_weakblockstype123__param_weakblocks__param_str_weakblocks__mod_badblockstype122__param_badblocks__param_str_badblocks__mod_partstype121__param_parts__param_str_parts__param_arr_parts__mod_dbgtype120__param_dbg__param_str_dbg__mod_logtype119__param_log__param_str_log__mod_do_delaystype118__param_do_delays__param_str_do_delays__mod_bus_widthtype117__param_bus_width__param_str_bus_width__mod_input_cycletype116__param_input_cycle__param_str_input_cycle__mod_output_cycletype115__param_output_cycle__param_str_output_cycle__mod_erase_delaytype114__param_erase_delay__param_str_erase_delay__mod_programm_delaytype113__param_programm_delay__param_str_programm_delay__mod_access_delaytype112__param_access_delay__param_str_access_delay__mod_fourth_id_bytetype111__param_fourth_id_byte__param_str_fourth_id_byte__mod_third_id_bytetype110__param_third_id_byte__param_str_third_id_byte__mod_second_id_bytetype109__param_second_id_byte__param_str_second_id_byte__mod_first_id_bytetype108__param_first_id_byte__param_str_first_id_byte.LC140nandsim.mod.c__mod_retpoline86_rheldata__mod_srcversion77__module_depends____versions__mod_vermagic5filp_openvfs_write__udelay__this_modulefind_get_pagenand_flash_idsput_pagecleanup_moduleparam_set_uintmemcpykfreeparam_set_charpkmem_cache_createkmem_cache_alloc_traceparam_get_ulonginit_module__x86_indirect_thunk_raxnand_scanparam_get_uint__stack_chk_failkmem_cache_allocdo_bit_flipsunlock_pagelist_delper_cpu__kernel_stackkmem_cache_freemcountdo_read_errorfind_or_create_pagewrite_inode_nownand_default_bbtprintkrandom32memsetvfs_readparam_get_charp__list_addkstrdupparam_array_setsprintfvfreenand_releaseadd_mtd_partitions__const_udelayfilp_closeparam_array_getsimple_strtoulparam_set_ulongmalloc_sizesvmalloc__kmallocper_cpu__current_taskkmem_cache_destroynandsim.ko.debug;.rodata.str1.1.rodata.str1.8.rela.data.rheldata.rela.rodata.symtab.strtab.shstrtab.rela__mcount_loc.note.gnu.build-id.rela__bug_table.rela.gnu.linkonce.this_module.note.module.sig.gnu_debuglink.rela__param.modinfo__versions.bss.rela.text.rela.init.text.rela.exit.textm@$p-. %(SoST a9`q' 4r`2re2Mj` ` `pУ@`[*@ $ м`0 0 xA8HI ,QD!