Questions tagged [bios]

The BIOS software is built into the PC, and is the first code run by a PC when powered on ('boot firmware'). The primary function of the BIOS is to load and start an operating system.

The Basic Input/Output System (BIOS), also known as the system BIOS or ROM BIOS ( /ˈbaɪ.oʊs/), is a de facto standard defining a firmware interface.

The BIOS software is built into the PC, and is the first code run by a PC when powered on ('boot firmware'). When the PC starts up, the first job for the BIOS is the power-on self-test, which initializes and identifies system devices such as the CPU, RAM, video display card, keyboard and mouse, hard disk drive, optical disc drive and other hardware. The BIOS then locates boot loader software held on a peripheral device (designated as a 'boot device'), such as a hard disk or a CD/DVD, and loads and executes that software, giving it control of the PC.[2] This process is known as booting, or booting up, which is short for bootstrapping. BIOS software is stored on a non-volatile ROM chip on the motherboard. It is specifically designed to work with each particular model of computer, interfacing with various devices that make up the complementary chipset of the system. In modern computer systems, the BIOS chip's contents can be rewritten without removing it from the motherboard, allowing BIOS software to be upgraded in place.

A BIOS has a user interface (UI), typically a menu system accessed by pressing a certain key on the keyboard when the PC starts. In the BIOS UI, a user can:

  • configure hardware
  • set the system clock
  • enable or disable system components
  • select which devices are eligible to be a potential boot device
  • set various password prompts, such as a password for securing access to the BIOS user interface functions itself and preventing malicious users from booting the system from unauthorized peripheral devices.

http://en.wikipedia.org/wiki/BIOS

916 questions
7
votes
3 answers

Software initialization code at 0xFFFFFFF0H

Intel says after reset the processor is placed in real mode and the software initialization code starts at 0xFFFFFFF0H. My questions: If processor is in real-mode how can it acess the memory > 1MB (0xFFFFFFF0H) How this happens or what happens when…
Albert
  • 385
  • 1
  • 4
  • 17
7
votes
1 answer

Automatically turn on computer when A/C power is available

In order to protect against power failure (which may be relatively common in my situation) for a hardware setup powered by a mini PC, I need for the computer to turn on automatically, and as soon as possible, when A/C power is available. I've heard…
Sterling
  • 71
  • 1
  • 1
  • 3
7
votes
1 answer

What was CS register's value at boot time?

I'm a green hand to assembly language. These days I used bochs to simulate the boot procedure from virtual floppy. But one thing I don't know is what the CS register value is when the system initializes. ;; init registers org 0x7c00 BaseOfStack…
Layne Liu
  • 452
  • 5
  • 10
7
votes
1 answer

Who executes POST? BIOS microcontroller or CPU?

What piece of hardware executes firmware during POST? BIOS microcontroller or CPU? BIOS microcontroller is executing the firmware on ROM which has some configuration on CMOS (like a RAM). But during POST who is executing the firmware that is…
int3
  • 658
  • 1
  • 5
  • 21
7
votes
3 answers

BIOS INT 13H with AH=2 can only read 72 sectors each time. Why?

I am using Bochs 2.4.5 to write a boot sector code. I use the INT 13H to read sectors from floppy. But I found that if the sector count to read > 72, the INT13 will fail. And the return code is AH=1. Below's the code and here is the INT13. The…
smwikipedia
  • 61,609
  • 92
  • 309
  • 482
7
votes
1 answer

nouveau error while booting arch

I dual booted arch linux with window 8.1. After installation, while booting for the first time, this error occurred. Here is the error I found. { [0.063411] Ignoring BGRT: Invalid status 0 (expected 1) starting version 218 Arch_Linux: clean,…
nyein nyein
  • 71
  • 1
  • 3
7
votes
1 answer

How can i find the MBR sector in a VMDK file?

I'm trying to understand how the vmware bios finds the MBR before it loads it. In physical Hard disks it's easy - the MBR sits at the first sector. But .. what happens in VM's? I created 2 VM's - In the first vmdk (with a linux-based system…
Avraham Shalev
  • 170
  • 1
  • 9
7
votes
2 answers

Possible to use bios interrupts in your code on linux?

I write a simple program in assembly language in Linux (using nasm), and for educational purposes, I want to use BIOS interrupt instead linux system calls, is this possible ?
user1886376
7
votes
7 answers

State of Registers After Bootup

I'm working on a boot loader on an x86 machine. When the BIOS copies the contents of the MBR to 0x7c00 and jumps to that address, is there a standard meaning to the contents of the registers? Do the registers have standard values? I know that the…
Terry
  • 581
  • 3
  • 9
  • 17
6
votes
3 answers

Real Mode Assembly: Print Char to Screen without INT Instruction on Boot

The following site "Writing Boot Sector Code" provides a sample of code that prints 'A' to the screen when the system boots. From what I have been reading don't you have to use INT opcode to get BIOS to do certain things? How does the code below,…
Matthew Hoggan
  • 7,402
  • 16
  • 75
  • 140
6
votes
1 answer

QEMU gdb does not show instructions of firmware

I am trying to debug the bios.bin that comes with the QEMU emulator. I am starting QEMU as follows: qemu-system-x86_64 -bios bios.bin -s -S I then start start debugging with: gdb target remote localhost:1234 GDB is at the Intel handoff state…
user7145038
6
votes
1 answer

How are BIOS interrupts deconflicted with reserved hardware interrupts?

I'm reading a section of kernel bootloader code (from Stanford's CS140 Pintos OS): # Configure serial port so we can report progress without connected VGA. # See [IntrList] for details. sub %dx, %dx # Serial port 0. …
6
votes
1 answer

Why BIOS need to compare a value in (seemly) randomized address to zero in the second instruction?

I am trying to learn operating system by diving into the low-level details of it. And the course I'm now on is MIT 6.828 Operating System Engineering. The lab asks students to trace into the BIOS for a few instructions. The first three assembly…
Bicheng
  • 687
  • 8
  • 20
6
votes
2 answers

How to properly setup SS, BP and SP in x86 Real Mode?

I want to know how to properly do it, because the way I'm doing it isn't working. When setting the BP register with 7C00h, then setting the SP register with BP, then pushing some ASCII, then getting the data from the memory to print it with INT 10h,…
The Mint Br
  • 71
  • 1
  • 5
6
votes
3 answers

How to perform low-level IO with a USB flash drive under the BIOS (compared to a floppy)?

I have recently been studying some bootstrap code which was intended for use with a floppy drive. My goal is to modify the program so that it uses my USB flash drive. Now I see how the INT 13H function has been used with the floppy device, but I…
Mr. Shickadance
  • 5,283
  • 9
  • 45
  • 61