          Intel/AMD/VIA ѥϡɥɥ饤

        Copyright 2000,2001 Jeff Garzik <jgarzik@pobox.com>
        Copyright 2000,2001 Philipp Rumpf <prumpf@mandrakesoft.com>


Ϥ:

        hw_random ǥХɥ饤ФϡCPU ޥܡɾ̤
        ϡɥ (RNG; Random Number Generator) 
        ȤΥեȥǤ

        ΥǥХɥ饤ФŪ˻Ѥ뤿ˤϡݡȥե
        ƱɤΤ褤Ǥ礦"rng-tools"
        ѥåκǿСhw_random ɥ饤и Web 
        ɤƤ

                http://sourceforge.net/projects/gkernel/


Intel RNG ϡɥˤĤơե०ϥ֥ǡȤ:

        ե०ϥ֤ϡܼŪ˥̤Ǥ륷ꥳ̻
        ϳŪ°ǮѤ (RNG; Random
        Number Generator) ޤʥӥåȤ
        ƤʤȤˤϡRNG ϩϾ֤Ȥʤޤ
        ѡƥΥեȥƥȤƻѤ뤿 RNG
        ˥Ǥ褦ˤХʥ꥽եȥɥ饤ФIntel
        󶡤Ǥ礦ǤϡRNG  OS ¸ߤ륷
        ƥǤΤ߻ѤǤޤ


ˡ:

        饯ɥ饤ФǤɸ open()  read() ƥ
        Ȥϡɥ RNG ǥХǡ
        ɤ߽ФȤǤޤΥǡϡ餫ŬƥȤ
        äƥå뤳ȤϤʤŪʪǤϤʤǽ
        ޤ (ϡɥ˾㳲뤫󤵤Ƥ)
        ϡɥ "has-data" ե饰åȤƤ硢ǡ
        ϽϤΤߤȤʤޤƥФưռι⤤
        ͤʤ顢줬˥ʥǡǤȲꤹˡ
        ǡФŬƥȤ¹ԤǤ礦

        /dev/hwrandom ϡ᥸㡼ֹ 10, ޥʡֹ 183 Υ
        ǥХǤ


ɥ饤Х:

        * FIXME: poll(2) ݡ

        : Ĥͳˤꡢrequest_mem_region Ϻޤ

          1) Υɥ饤ФǤϰĤ RNG ݡȤʤ

          2) RNG ˤѤϡޥåץ I/O 
             å󥰤ǽʥθŪʾǤ롣

          3) BIOS e820 Ŭڤ˵ǽƤ桼ξ硢RNG
             ֤ƤΰϾͽѤߤˤʤäƤΤǡ
             ŬڤʥåȥåפФƤϡrequest_mem_region
             ƽФ˼ԤƤޤʤ顢mem=XX 
             ȤȡBIOS e820  /proc/iomem ˸줺
             request_mem_region(RNG_ADDR) ޤ


ɥ饤оܺ:

        ͤˤ:

        Intel 82802AB/82802AC Firmware Hub (FWH) Datasheet
                1999 ǯ 5   ʸֹ: 290658-002 R

        Intel 82802 Firmware Hub: Random Number Generator
        Programmer's Reference Manual
                1999 ǯ 12   ʸֹ: 298029-001 R

        Intel 82802 Firmware HUB Random Number Generator Driver
        Copyright (c) 2000 Matt Sottek <msottek@quiknet.com>

        Matt Sottek ˤä˴դޤϡֺסϡƬǾפǡ
        ƤΥƥȤ⤷Ƥޤ


ѹ:

        Version 1.0.0:
        * Intel, AMD, VIA  RNG ɥ饤зĤ硣BitKeeper
          ˤѹޤ

        Version 0.9.8:
        * 82801E ɲäˤꡢ¾ i8xx åץåȤ򥵥ݡ
        * 82801CA Ʊͤ 82801DB 

        Version 0.9.7:
        * ¾ i8xx åפ⥵ݡ (82801BA(M)  82801CA(M) θ
          ɲäˤä)

        Version 0.9.6:
        * ɥ饤Υ꡼󥢥åס1.0.0 ꡼˸Ƥν

        Version 0.9.5:
        * ޷ͳΥȥԡޤǵǽƤޤ
          ǤϤ褤ˡ (rngd) ޤ

        Version 0.9.4:
        * : request_mem_region 
        * : FIPS ׻ȥƥȼ¹ԤˤҤɤХ

        Version 0.9.3:
        * rng_read 򾯤꡼󥢥å
        * i810_rng ɥ饤Ф Web  URL 򹹿
        * ǥեȤΥޥ󥿡Х 4 ץ
        * ꡼ʤ abort
        * BSS ꡼󥢥å
        * rng_init_one  misc_register() ƤӽФ
        * 塼ȯ褦 O_NONBLOCK 

        Version 0.9.2:
        * ץ֥åΥåǲ

        Version 0.9.1:
        * i815 åץåȤ⥵ݡ (Matt Sottek)
        * Ū˥ѥ뤵줿ȤλȿȤ (prumpf)
        * rng_dev_read νľ (prumpf)
        * ⥸塼ζȯˤޤ (prumpf)
        * ȾʥХ (prumpf)
        * PCI ID ꥹѤ PCI ơ֥

        Version 0.9.0:
        * pci_driver Ͽʤ褦ˤޤȤΤϡã
          ºݤ PCI ֥å٥ǥХ ID ѤƤꡢޤ
          ï֥åѤ˥ɥ饤ФϿȻפ⤷ʤ
          Ǥ (Х)
        * ѥȤˤʤʤ褦ˤޤ (Х)
        * ԥåΥ꡼󥢥å (Х)
        * ɬפʾ PCI ǥХͭ (Х)
        * ⥸塼륢ɻ iounmap (Х)
        * open(2) ƤФ줿Ȥ RNG 饯ǥХ˻Ѥ
          Ƥ硢ѲǽȤʤޤǥ꡼פ褦ˤޤ
        * ĹʥХѿ rng_allocated, rng_use_count 
        * ͤΥХѿ unsigned ѹ
        * ⥸塼륢ɤΥ꡼󥢥å

        Version 0.6.2:
        * ԥåΥ꡼󥢥åסܤƤߤϤޤ
          ܤƤ륿ޤϤΤǡ޴ؿȰʳƤ
          ˤơspin_lock_bh Ѥ褦ˤޤ
        * ⥸塼Υɡɤ
        * ޴ؿ h/w ̵ͭå
        * ޥ󥿡Х sysctl
        * sysctl ̾Υ꡼󥢥å

------------------------------------------------------------
Ρ JF ץ < http://www.linux.or.jp/JF/ >
   2004/05/23
  ԡ  ɧ <takahiko(a)hakubi.co.jp>
     Seiji Kaneko <skaneko(a)a2.mbn.or.jp>
