Abstract:
A processor-based system, including systems without keyboards, may receive user inputs prior to booting. This may done using the graphics controller to generate a window which allows the user to input information. The system firmware may then compare any user inputs, such as passwords, and may determine whether or not to actually initiate system booting.

Description:
BACKGROUND 
     This invention relates generally to processor-based systems and particularly to techniques for providing user inputs in those systems. 
     A number of processor-based systems, such as web tablets, include no keyboard. For example, many devices use a touch screen, a mouse, or pen as the input device, avoiding the need for a keyboard that takes up more space. However each of these input devices generally needs an operating system in order to receive user inputs. 
     In some cases, the inability to provide inputs prior to booting of the operating system may create a problem. For example, it may be desirable to require the user to enter a password before actually booting the operating system. Once the operating system is booted, the user may be more able to hack the system in order to gain access without a password. Thus it may be advantageous to require entry of a password or other identifier before booting the system. 
     As another example, it may be desirable for the user to provide certain information to the system, such as hardware settings, prior to actually booting the system. In other words it may be desirable to enable the input of setting information without requiring that the operating system be booted. Examples of machine setup information may be to convert the system from a universal serial bus (USB) to a PS-2 system, to provide different graphics, or to provide a different hard drive. 
     Of course in systems without a keyboard, there is no way to provide information prior to the time the operating system has booted. Before operating system boot or in the pre-boot phase, the input devices are incapacitated since they require a functioning operating system. 
     Therefore, there is a need for a way to receive inputs in processor-based systems in the pre-boot phase. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a front plan view of one embodiment of the present invention; 
         FIG. 2  is a block depiction of the embodiment shown in  FIG. 1  in accordance with one embodiment of the present invention; and 
         FIG. 3  is a flow chart for software in accordance with one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to  FIG. 1 , a processor-based system  10  may include a housing  66  and a display  16 . In one embodiment, the display  16  may be a liquid crystal display and the processor-based system  10  may be battery powered. The system  10  may include no keyboard. Instead, the system  10  may use input devices such as a touch screen, a pen, or a mouse. Textual inputs may be entered prior to booting an operating system using an on-screen keyboard image included in a graphical user interface  68 . 
     Examples of systems  10  include personal digital assistants, appliances such as cameras, and web tablets. These devices may be more portable and relatively lower in weight by eliminating the keyboard. 
     Referring to  FIG. 1 , when the user operates a start button  14 , the graphical user interface  68  appears including a prompt to enter a password and an on-screen keyboard. This may be done before the operating system has been booted. Instead, the interface  68  may be retrieved from storage and displayed by opening a window. 
     When the user enters an appropriate password, as determined by boot code running in a graphics controller, booting of the operating system may be initiated in one embodiment. In other embodiments, entry of machine settings or other identifiers may be provided in the pre-boot stage. 
     Turning to  FIG. 2 , the system  10  may include a processor  42  coupled through an interface  44  to a graphics controller  22 . The main memory  46  may be coupled to the interface  44  as may be a bus  18 . The graphics controller  42  may receive inputs from a user input device  14  such as a mouse, a pen, or a touch screen display. Media control inputs  22  may be received by an image overlay generator  30 . The image overlay generator  30  actually generates the interface  68 . An interface  36  provides an interface between the generator  30  and the user interface  14 . 
     A host bus interface  24  may be coupled through the interface  44  to the processor  42  and the main memory  46 . A memory control interface  26  may couple the interface  24  to an option memory  20  such as an option read only memory (ROM). In addition, a digital signal processor (DSP)  32  and a graphic image storage  34  may be provided. The graphic image storage  34  stores an image that may be provided from the option memory  20  to generate the interface  68  and eventually displays the interface  68  on a display  16 . Thus the graphic interface storage  34  may be a frame buffer or other memory that is capable of storing an image for display on the display  16 . A 3-D graphics coprocessor  28  may be utilized for 3-D interpolation applications. A clock synthesizer  38  and a power management controller  40  may be provided as well. 
     The set up software  50  may be stored in the option memory  20 , in one embodiment, for actually initiating the generation of an interface  68  during the pre-boot stage. Thus, the set up software  50  may be run from the graphics controller loaded with code from an option memory or any other software operable during the pre-boot stage. 
     Referring to  FIG. 3 , when user activity is detected, as indicated in block  52 , the interface  68  is generated as indicated in block  54 . The user activity may be operation of the button  14  indicating that the user wishes to initiate the system. Once the interface  68  is generated, the user inputs, such as a password, may be received through the interface  68  as indicated in block  56 . The password entry may be part of the boot code stored in an option memory  20  as indicated in block  58 . The entry may then be compared to a stored password necessary to gain access to the system  10  as indicated in block  60 . If the graphics controller boot code determines that there is a password match in diamond  62 , the boot operation may be started as indicated in block  64  in accordance with one embodiment of the present invention. 
     Thus, in some embodiments, even in systems without a keyboard, a graphical user interface  68  may be generated prior to booting of the system and this interface  68  may receive user inputs, for example to authenticate the user and to enable booting to occur. This may result in a more secure system than a system in which booting precedes user authentication. In other embodiments, machine settings or other identifiers may be advantageously received in the pre-boot stage before the available user input devices are operable. In some embodiments no operative hard disk or floppy drive is needed to start to use the system. 
     While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.