Boot Console Handler (BCH) Processor Dependent Code (PDC)

   

HP-UX Virtual Partitions
By Marty Poniatowski

Table of Contents
Chapter 3.  Booting and vPars


Boot Console Handler (BCH) & Processor Dependent Code (PDC)

graphics/chic10.gif

As mentioned earlier, HP 9000 systems come with firmware installed called Processor Dependent Code (PDC.) After the system is powered on or the processor is RESET, the PDC runs self-test operations and initializes the processor. PDC also identifies the console path so it can provide messages and accept input. PDC would then begin the "autoboot" process, unless you were to interrupt it during the 10-second interval that is supplied. If you interrupt the "autoboot" process, you can issue a variety of commands.

The following example shows booting an L-Class system and the PDC-related messages we receive on the system. The first messages you see are a variety of self-test-related messages. The processor, memory, I/O, and other components are run through a variety of tests. I abbreviated the list of messages in the example, wherever you see three dots, because the complete list of test results was too long to include in this book:

 Value of TERM has been set to "vt100".  WARNING:  YOU ARE SUPERUSER !!1.00] (see /etc/issue)  Console Login: root  # reboot -h...checking for disk quotas  Shutdown at 17:41 (in 0  minutes  ckard Co.  All Rights Reserved.  (c)Copyright 1979, 1980, 1983, 1985-1993 The Regents of the Univ. of California  (c)C*** FINAL System shutdown message from root@hp.serviceengine.com ***  (c)Copyright 1986-1992 Sun Microsystems, Inc.  System going down IMMEDIATELY Massachusetts Institute of Technology  (c)Copyright 1989-1993  The Open Software Foundation, Inc.  System shutdown time has arrivedent Corp.  (c)Copyright 1990 Motorola, Inc.  (c)Copyright 1990, 1991, 1992 Cornell University  (c)Copyright 1989-1991 The University of Maryland  Console reset done.arnegie Mellon University  (c)Copyright 1991-1997 Mentat, Inc.  Boot device reset done.ng Star Technologies, Inc.  (c)Copyright 1996 Progressive Systems, Inc.  (c)Copyright 1997 Isogon Corporation  System has halted  OK to turn off power or reset systemD RIGHTS LEGEND  UNLESS "WAIT for UPS to turn off power" message was printed above to  restrictions as set forth in sub-paragraph (c)(1)(ii) of the Rights in  ********** VIRTUAL FRONT PANEL **********se in DFARS 252.227-7013.  System Boot detected  *****************************************  LEDs:  RUN      ATTENTION     FAULT     REMOTE     POWER         ON       FLASH         OFF       OFF        ON                             Palo Alto, CA 94304 U.S.A.  platform                  config                    626F  processor                 slave rendezvous          1C17ies are as set  processor                 test                      1142  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  processor                 test                      1100  PDH                       config                    322F  PDH                       test                      3149  PDH                       test                      3160  platform                  test                      616A  processor                 test                      1146  processor                 INIT                      1701  processor                 INIT                      1701  processor                 test                      1110  .  .  .  processor                 test                      111C  processor                 test                      111D  processor                 test                      111D  processor cache           test                      2111  processor cache           test                      2111  processor cache           test                      2112  processor cache           test                      2112  processor cache           test                      2113  processor cache           test                      2113  processor cache           test                      2121  processor cache           test                      2121  .  .  .  memory                    test                      71A4  memory                    test                      71A5  memory                    test                      71A5  memory                    test                      71A6  memory                    test                      71A6  memory                    config                    7210  I/O                       INIT                      8701  I/O                       test                      8118  I/O                       test                      8118  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  I/O                       INIT                      8701  memory                    config                    7240  memory                    INIT                      7702  memory                    config                    7241  memory                    config                    7243  memory                    config                    72A0  memory                    test                      71A1  memory                    test                      71A2  .  .  .  processor                 test                      1120  processor                 slave rendezvous          1C40  processor                 test                      1142  processor                 test                      113B  platform                  test                      612A  I/O                       config                    8238  *****************************************  ************ EARLY BOOT VFP *************  End of early boot detected  *****************************************  Firmware Version  39.46  Duplex Console IO Dependent Code (IODC) revision 1  ------------------------------------------------------------------------------    (c) Copyright 1995-1998, Hewlett-Packard Company, All rights reserved  ------------------------------------------------------------------------------   Processor   Speed            State           CoProcessor State  Cache Size    Number                                       State              Inst    Data    ---------  --------   ---------------------  -----------------  -----------       0      440  MHz   Active                 Functional         512 KB   1 MB        3      440  MHz   Idle                   Functional         512 KB   1 MB    Central Bus Speed (in MHz)  :         82    Available Memory            :    2097152  KB    Good Memory Required        :      11468  KB     Primary boot path:    0/0/1/1.2     Alternate boot path:  0/0/2/0.2     Console path :        0/0/4/0.0     Keyboard path:        0/0/4/0.0  Processor is booting from first available device.  To discontinue, press any key within 10 seconds. 

graphics/chic10.gif

After the "early" boot is complete, we get a brief system summary, including the firmware revision on our system, and are then given the option to automatically boot off of the primary path or press any key to stop the boot process. Under normal system operation, you would autoboot; however, in our case, we'll interrupt the boot process to see what commands are available in the PDC. When we interrupt the boot process, the following menu appears:

 Boot terminated.  ---- Main Menu ---------------------------------------------------------------      Command                          Description       -------                          -----------      BOot [PRI|ALT|<path>]            Boot from specified path       PAth [PRI|ALT] [<path>]          Display or modify a path       SEArch [DIsplay|IPL] [<path>]    Search for boot devices       COnfiguration menu               Displays or sets boot values       INformation menu                 Displays hardware information       SERvice menu                     Displays service commands       DIsplay                          Redisplay the current menu       HElp [<menu>|<command>]          Display help for menu or command       RESET                            Restart the system  ---- Main Menu: Enter command or menu > 

The interface to the PDC is called the Boot Console Handler (BCH.) In our discussion the commands we are issuing are PDC commands and the interface through which we issue them is the BCH. Many of the commands in this menu are helpful to system administrators, but are sometimes ignored because they are pre-operating system and therefore usually overlooked.

We'll skip the first three commands for the time being and start by looking at the COnfiguration menu command by typing co. The uppercase "CO" in COnfiguration means that you could type just co as an abbeviation for configuration:

 Main Menu: Enter command or menu > co  ---- Configuration Menu ------------------------------------------------------      Command                           Description       -------                           -----------      AUto [BOot|SEArch|STart] [ON|OFF] Display or set specified flag       BootID [<proc>] [<bootid>]        Display or set Boot Identifier       BootINfo                          Display boot-related information       BootTimer [0 - 200]               Seconds allowed for boot attempt       CPUconfig [<proc>] [ON|OFF]       Config/Deconfig processor       DEfault                           Set the system to predefined values       FAn [HI|NORmal]                   Display or change fan speed       FastBoot [ON|OFF]                 Display or set boot tests execution       PAth [PRI|ALT] [<path>]           Display or modify a path       SEArch [DIsplay|IPL] [<path>]     Search for boot devices       TIme [c:y:m:d:h:m:[s]]            Read or set the real time clock in GMT       BOot [PRI|ALT|<path>]             Boot from specified path       DIsplay                           Redisplay the current menu       HElp [<command>]                  Display help for specified command       RESET                             Restart the system       MAin                              Return to Main Menu  ---- Configuration Menu: Enter command > 

Under the COnfiguration menu are several useful commands. You can, for example, enable FastBoot, which gives control over tests run at boot time. We'll issue the FastBoot command to see how our system is currently set but not change the value of FastBoot:

 Configuration Menu: Enter command > FastBoot     Fastboot:             OFF  Configuration Menu: Enter command > 

Our system has FastBoot off, meaning we'll run all available tests at boot time. If you would like to reduce system boot time and are willing to bypass boot tests, you would turn on FastBoot.

There are a variety of other commands under the COnfiguration menu that you may want to issue, depending on your needs, such as CPUconfig to configure and deconfigure processors.

Let's now issue the Main command to get back to the Main menu and then IN to get access to the INformation menu:

 Configuration Menu: Enter command > main  ---- Main Menu ---------------------------------------------------------------      Command                           Description       -------                           -----------      BOot [PRI|ALT|<path>]             Boot from specified path       PAth [PRI|ALT] [<path>]           Display or modify a path       SEArch [DIsplay|IPL] [<path>]     Search for boot devices       COnfiguration menu                Displays or sets boot values       INformation menu                  Displays hardware information       SERvice menu                      Displays service commands       DIsplay                           Redisplay the current menu       HElp [<menu>|<command>]           Display help for menu or command       RESET                             Restart the system  ---- Main Menu: Enter command or menu > IN  ---- Information Menu --------------------------------------------------------      Command                           Description       -------                           -----------      ALL                               Display all system information       BootINfo                          Display boot-related information       CAche                             Display cache information       ChipRevisions                     Display revisions of major VLSI       COprocessor                       Display coprocessor information       FRU                               Display FRU information       FwrVersion                        Display firmware version       IO                                Display I/O interface information       LanAddress                        Display Core LAN station address       MEmory                            Display memory information       PRocessor                         Display processor information       WArnings                          Display selftest warning messages       BOot [PRI|ALT|<path>]             Boot from specified path       DIsplay                           Redisplay the current menu       HElp [<command>]                  Display help for specified command       RESET                             Restart the system       MAin                              Return to Main Menu  ---- Information Menu: Enter command > 

The INformation menu is a hidden gem for system administrators. Among the menu selections is one to display ALL system information, which produces the following report for our L-Class system. I abbreviated this report at the point where you see the three dots near the end of the report:

 Information Menu: Enter command > all     Model:                    9000/800/L2000-44  PROCESSOR INFORMATION                         HVERSION  SVERSION              Processor    Processor   Speed     Model    Model/Op  CVERSION      State    ---------   -------- --------  --------  --------  -------------       0       440  MHz  0x05c4    0x0491     2.  4   Active        3       440  MHz  0x05c4    0x0491     2.  4   Idle    Central Bus Speed (in MHz)   :         82    Software ID (dec)            :  143901527    Software ID (hex)            : 0x0893c357    Software Capability          : 0x01f0  COPROCESSOR INFORMATION                      Coprocessor    Coprocessor         Coprocessor         Processor       Model         Revision             State        -----------   -----------    -----------      -----------------            0        0x00000010              1         Functional             3        0x00000010              1         Functional  CACHE INFORMATION         Processor    Instruction Cache Size     Data Cache Size        -----------   -----------------------    ---------------            0                512 KB                     1 MB             3                512 KB                     1 MB  MEMORY INFORMATION    MEMORY STATUS TABLE (MB)  (Current Boot Status)  Slot 0a  512M  Active  Slot 0b  512M  Active  Slot 1a  512M  Active  Slot 1b  512M  Active  Slot 2a   - Slot 2b   - Slot 3a   - Slot 3b   - Slot 4a   - Slot 4b   - Slot 5a   - Slot 5b   - Slot 6a   - Slot 6b   - Slot 7a   - Slot 7b   - Subtotal 2048M     TOTAL =  2048 MB             ---------                      Memory Installation Guidelines                       ------------------------------ - For DIMMs to work, both DIMMs in a slot pair (a/b) must be the same type.      (Same part number = same type)  - For proper cooling, install DIMMs in the following order:      0a/b 1a/b 2a/b 3a/b 4a/b 5a/b 6a/b 7a/b.     Active, Installed Memory          :       2048  MB of SDRAM     Deallocated Pages                 :          0  Pages                                         -----------    Available Memory                  :       2048  MB     Good Memory Required by OS        :         12  MB           Memory     HVERSION  SVERSION     -------- ----------     0x0950  0x00000900  I/O MODULE INFORMATION                          Path   Slot                          IODC  Type                    (dec)  Number    HVERSION  SVERSION  Vers  ----                    -----  ------    --------  --------  ---- System bus adapter      0                0x5820    0xb10     0x0  Local bus adapter       0/0    1         0x7820    0xa00     0x0  Local bus adapter       0/1    6         0x7820    0xa00     0x0  Local bus adapter       0/2    8         0x7820    0xa00     0x0  Local bus adapter       0/3    10        0x7820    0xa00     0x0  Local bus adapter       0/4    12        0x7820    0xa00     0x0  Local bus adapter       0/5    7         0x7820    0xa00     0x0  Local bus adapter       0/6    9         0x7820    0xa00     0x0  Local bus adapter       0/7    11        0x7820    0xa00     0x0  PCI DEVICE INFORMATION                                  Path              Vendor  Device  Bus  Slot  Description                     (dec)               Id      Id     #    #  -----------                     -----              ----    ----   ---  --- Ethernet cntlr                  0/0/0/0           0x1011  0x19    0    1  SCSI bus cntlr                  0/0/1/0           0x1000  0xb     0    1  SCSI bus cntlr                  0/0/1/1           0x1000  0xb     0    1  SCSI bus cntlr                  0/0/2/0           0x1000  0xf     0    1  SCSI bus cntlr                  0/0/2/1           0x1000  0xf     0    1  Comp. ser cntlr                 0/0/4/0           0x103c  0x1048  0    2  Comp. ser cntlr                 0/0/5/0           0x103c  0x1048  0    2  Ethernet cntlr                  0/3/0/0           0x1011  0x19    24   10  SCSI bus cntlr                  0/4/0/0           0x1000  0xf     32   12  SCSI bus cntlr                  0/4/0/1           0x1000  0xf     32   12  SCSI bus cntlr                  0/7/0/0           0x1000  0xf     56   11  SCSI bus cntlr                  0/7/0/1           0x1000  0xf     56   11  BOOT INFORMATION     Processor            Boot ID     ---------            -------        0                   2         3                   2     Autoboot:              ON     Autosearch:            ON     Autostart:             ON     Fastboot:              OFF     Primary boot path:     intscsib.2                            0/0/1/1.2                            0/0/01/01.2   (hex)     Alternate boot path:   intscsia.2                            0/0/2/0.2                            0/0/02/0.2    (hex)     Console path:          0/0/4/0.0                            0/0/04/0.0    (hex)     Keyboard path:         0/0/4/0.0                            0/0/04/0.0    (hex)     LAN Station Address:   001083-fc9288     Wed Apr  19 22:02:46  GMT 2000    (20:00:04:19:22:02:46)  FIRMWARE INFORMATION     Firmware Version:           39.46          Module               Revision          ------               --------         System Board         A443938          PA 8500 CPU Module   2.4          PA 8500 CPU Module   2.4  FRU INFORMATION  FRU Name:                 SYS_BD  Part Number:            A5191-60001  Serial Number:          A56405282277  Physical Location:      00ffff0001ffff69  Engineering Date Code:  3938  Art Work Revision:     A4  Scan Revision:  FRU Specific Info:     USS40130E3  FRU Name:               IO_BP  Part Number:           A5191-60002  Serial Number:         52SCFK23WX  Physical Location:     00ffff0002ffff69  Engineering Date Code: 3942  Art Work Revision:     A2  Scan Revision:  FRU Specific Info:  FRU Name:      LAN_SCSI_CORE_IO  Part Number:           A5191-60011  Serial Number:           52SCFK28DE  Physical Location:     000000ffff01ff85  Engineering Date Code: 3933  Art Work Revision:     A5  Scan Revision:  FRU Specific Info:  .  .  .  FRU Name:              DIMM_512  Part Number:           A5798-60001  Serial Number:         A56E02093896  Physical Location:     0000ff00001bff74  Engineering Date Code: 3938  Art Work Revision:     A4  Scan Revision:  FRU Specific Info:  Information Menu: Enter command > 

This report would be an excellent addition to a system administration notebook. Knowing such information as the firmware revision levels and the settings of the boot flags is valuable.

graphics/chic10.gif

In the previous example, we used the BCH to issue the PDC commands INformation and then ALL. Both INformation and ALL are PDC commands issued through the BCH interface. Sometimes PDC and BCH are used interchangeably in documentation, however, knowing that BCH is the interface through which PDC commands are issued will usually serve you well when looking for information on specific commands.

Let's now go back to the Main menu and then look at the SERvice menu:

 Service Menu: Enter command > main  ---- Main Menu ---------------------------------------------------------------      Command                          Description       -------                          -----------      BOot [PRI|ALT|<path>]            Boot from specified path        PAth [PRI|ALT] [<path>]           Display or modify a path       SEArch [DIsplay|IPL] [<path>]     Search for boot devices       COnfiguration menu                Displays or sets boot values       INformation menu                  Displays hardware information       SERvice menu                      Displays service commands       DIsplay                           Redisplay the current menu       HElp [<menu>|<command>]           Display help for menu or command       RESET                             Restart the system  ---- Main Menu: Enter command or menu > ser  ---- Service Menu ------------------------------------------------------------      Command                           Description       -------                           -----------      CLEARPIM                          Clear (zero) the contents of PIM       SCSI [option] [<path>] [<val>]    Display or set SCSI controller values       MemRead <address> [<len>]         Read memory and I/O locations       PDT [CLEAR]                       Display or clear the PDT       PIM [<proc>] [HPMC|LPMC|TOC]      Display PIM information       ProductNum <O|C> [<number>]       Display or set Product Number       SELftests [ON|OFF]                Enable/disable self test execution       BOot [PRI|ALT|<path>]             Boot from specified path       DIsplay                           Redisplay the current menu       HElp [<command>]                  Display help for specified command       RESET                             Restart the system       MAin                              Return to Main Menu  ---- Service Menu: Enter command > 

Among the options you have in SERvice menu is to manipulate the Processor Internal Memory, display SCSI controller values, and enable and disable self-tests. In the following example, we run SCSI to get information on our SCSI interfaces and then return to the Main menu:

 Service Menu: Enter command > SCSI  Path (dec)     Initiator ID     SCSI Rate     Auto Term  ------------   --------------   ----------    --------------- 0/0/1/0        7                Fast          Unknown  0/0/1/1        7                Ultra         Unknown  0/0/2/0        7                Ultra         Unknown  0/0/2/1        7                Ultra         Unknown  Service Menu: Enter command > main  ---- Main Menu ---------------------------------------------------------------      Command                            Description       -------                            -----------      BOot [PRI|ALT|<path>]              Boot from specified path       PAth [PRI|ALT] [<path>]            Display or modify a path       SEArch [DIsplay|IPL] [<path>]      Search for boot devices       COnfiguration menu                Displays or sets boot values       INformation menu                  Displays hardware information       SERvice menu                      Displays service commands       DIsplay                           Redisplay the current menu       HElp [<menu>|<command>]           Display help for menu or command       RESET                             Restart the system  ---- Main Menu: Enter command or menu > 

graphics/chic10.gif

Now that we've looked at some of the PDC commands, let's get back to the process of booting by looking at the first three commands under Main menu.

BOot allows you to specify the path from which you'll boot your system. PAth allows you to display or modify the boot paths. SEArch will display boot paths. In the following example we'll SEArch to show all potential boot devices on our L-Class system, run PAth to display our existing boot path, and then specify the device from which we want to boot our system:

 Service Menu: Enter command > main  ---- Main Menu ---------------------------------------------------------------      Command                          Description       -------                          -----------      BOot [PRI|ALT|<path>]            Boot from specified path       PAth [PRI|ALT] [<path>]          Display or modify a path       SEArch [DIsplay|IPL] [<path>]    Search for boot devices       COnfiguration menu               Displays or sets boot values       INformation menu                 Displays hardware information       SERvice menu                     Displays service commands       DIsplay                          Redisplay the current menu       HElp [<menu>|<command>]          Display help for menu or command       RESET                            Restart the system  ---- Main Menu: Enter command or menu >  Main Menu: Enter command or menu > sea  Searching for potential boot device(s)  This may take several minutes.  To discontinue search, press any key (termination may not be immediate).     Path#  Device Path (dec)  Device Path (mnem)  Device Type     -----  -----------------  ------------------  -----------    P0     0/0/1/1.2          intscsib.2          Random access     P1     0/0/2/0.2          intscsia.2          Random access media  Main Menu: Enter command or menu > pa     Primary boot path:    intscsib.2                            0/0/1/1.2                           0/0/01/01.2    (hex)     Alternate boot path:  intscsia.2                           0/0/2/0.2                           0/0/02/0.2     (hex)     Console path:         0/0/4/0.0                           0/0/04/0.0     (hex)     Keyboard path:        0/0/4/0.0                           0/0/04/0.0     (hex)  Main Menu: Enter command or menu > bo p0  Interact with IPL (Y, N, or Cancel)?> y 

The SEArch command shows two potential boot devices; in this case, our two internal disks on two different SCSI buses. The path of the two boot devices is composed of numbers separated by slashes (/), which indicate bus converters, and dots (.), which indicate cards, slot numbers, and addresses. You sometimes end up decoding these paths to figure out what boot devices map to what hardware devices on your system. In our case we have only the two internal disks, one on bus 1 and the other on bus 2.

The PAth command shows that the primary boot device is the disk on internal bus 1, and the alternate boot device is the disk on internal bus 2.

When I issued the BOot command in the preceding example, I specified a device of p0, which corresponds to the disk on internal bus1 shown in the SEArch command results. I responded that I did indeed want to interact with IPL, which would normally not be the case when booting the system; however, I want to look briefly at IPL in the upcoming IPL section.

graphics/chic10.gif

PDC commands issued through BCH are a mystery to many new system administrators. I covered enough in this section to get you comfortable enough on your system to look at the non-intrusive commands, that is, those that supply useful information without changing the settings on your system. Please be careful if you issue commands that change your configuration. Under

MAIN-CON-CPU

for instance, you can configure and reconfigure processors. You would not want to experiment with this command unless your system is unused and you are free to modify your CPUs.

PDC Commands

graphics/chic10.gif

The following is a list of PDC commands available on an N-Class system at the time of this writing. Although an L-Class system was used in the examples in this chapter, the PDC for the L-Class and N-Class are similar. Keep in mind that the PDC commands for your system may be somewhat different than those listed. The PDC is updated occasionally, so the list for the N-Class may also be somewhat different than what is shown in Table 3-4.

Table 3-4. List of PDC Commands for N-Class

Command

Explanation

ALL

Display the collection of all information provided by other display commands typically resident in INFORMATION menu.

AUTO

Used to display or set status of AUTOBOOT, AUTOSEARCH, or AUTOSTART flags.

BOOT

Initiate boot sequence.

BOOTID

Display or modify boot id for the processors present.

BOOTINFO

Display PDC-level information about the configured parameters used for system boot.

BOOTTIMER

Sets a delay value in the system to wait for external mass storage devices to come on-line.

CACHE

Displays information about the cache memory portion of all installed processors.

CHASSISCODES

Displays a queue of the most recent chassis codes.

CHIPREVISIONS

Used to display the revisions of major Very Large Scale Integration (VLSI)in the system.

CLEARPIM

Used to clear (zero) the contents of the Processor Internal Memory (PIM).

CONFIGURATION

Used to enter the Configuration sub-menu.

COPROCESSOR

Displays information about all installed coprocessors.

CPUCONFIG

Allows the user to configure or deconfigure processors in the system.

DEFAULT

Used to set the system to pre-defined defaults.

DISPLAY

Used to redisplay the current menu.

FAN

Used to display or set the speed of system internal fans.

FASTBOOT

Used to display or set the fastboot flag.

FWRVERSION

Displays the revision of currently installed firmware.

HELP

Returns help information for the specified command, menu, or the system itself.

INFORMATION

Used to acess the Information menu.

IO

Displays I/O interface on all I/O modules in the system.

LANADDRESS

Allows the user to display station address.

LANCONFIG

Used to configure the LAN card.

MAIN

User interface for PDC.

MEMORY

Displays memory information for total amount of physical memory as well as configured memory in a system.

MEMREAD

Used to read memory locations.

MONITOR

Allows the user to view and change the monitor type for graphic cards.

PATH

Used to set and/or display the system paths from Stable Storage.

PDT

Display or clear the Page Deallocation Table (PDT).

PIM

Displays Processor Internal Memory (PIM) Information.

PROCESSOR

Displays information about the processor(s) in the system.

RESET

Resets the machine state.

SEARCH

Search for boot devices in the system.

SECURE

Used to display or set the secure mode flag.

SERVICE

Allows the user to go to the Service menu.

TIME

Read or set the real time clock in GMT.

WARNINGS

Display any warning messages that may have resulted from the previous PDC selftest execution.


       
    Top
     



    HP-UX Virtual Partitions
    HP-UX Virtual Partitions
    ISBN: 0130352128
    EAN: 2147483647
    Year: 2002
    Pages: 181

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net