LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Обычно под биосом на PC/x86 понимают код, который начинается бутблоком, находящимся (начиная с 386) по адресу (4GB - 16 == 0xFFFF_FFF0). Coreboot действительно содержит код, который может заменить собой и бутблок, и остальное содержимое региона bios в SPI-микросхеме.

(тут надо оговориться, 0xFFFFFFF0 это конечно не начало биоса, а только точка входа, сам биос расположен ниже, но не суть)

Уже давно (начиная с i686 с PAE) не там. Было 0xFFFFFFFF0, а на современных процах этот адрес ещё длиннее думаю. А когда-то раньше было 0xFFFFF0, а ещё раньше 0xFFFF0. Только дело не в этом. По адресу 0xFFFF0 и сейчас есть какой-то код, выглядящий похоже на биос, но там только его имитатор для совместимости с API из 80-х. И речь не про нововведения с IME, этот «имитатор» там был уже во времена вторых пентиумов, а настоящий биос - по указанному 0xFFFFFFFF0. Дело в том, что системная прошивка материнок это не что-то статичное, она развивается, для старого софта остаются разные слои совместимости. Можно было с тем же успехом отреверсить содержимое 0xF0000-0xFFFFF и сказать, что у нас есть опенсорсный биос (напомню, уже во времена вторых пентиумов стартового кода там не было, там были только обработчики системных вызовов от софта). Так и сейчас походу что-то подобное происходит.

Это реализация интерфейсов BIOS, написанная (в основном) на C (омофон Sea).

И тут аналогично: современные «интерфейсы BIOS» это вовсе не только и не столько 16-битные прерывания. Современные 32/64-битные ОС тоже пользуются интерфейсами BIOS, например всякими ACPI-таблицами. А ещё, кстати, давным давно (ещё с времён 486) есть SMBIOS, который тоже не часть того кода, который назывался биосом в древние времена. Вобщем, без всего этого современные ОС тупо не запустятся, и с другой стороныоно весьма сильно привязано к конкретному железу. Называть это опциональным payload-ом странно. Хотя я не уверен что всё это в «SeaBIOS», возможно оно таки в coreboot.

Исправление firkax, :

Обычно под биосом на PC/x86 понимают код, который начинается бутблоком, находящимся (начиная с 386) по адресу (4GB - 16 == 0xFFFF_FFF0). Coreboot действительно содержит код, который может заменить собой и бутблок, и остальное содержимое региона bios в SPI-микросхеме.

(тут надо оговориться, 0xFFFFFFF0 это конечно не начало биоса, а только точка входа, сам биос расположен ниже, но не суть)

Уже давно (начиная с i686 с PAE) не там. Было 0xFFFFFFFF0, а на современных процах этот адрес ещё длиннее думаю. А когда-то раньше было 0xFFFFF0, а ещё раньше 0xFFFF0. Только дело не в этом. По адресу 0xFFFF0 и сейчас есть какой-то код, выглядящий похоже на биос, но там только его имитатор для совместимости с API из 80-х. И речь не про нововведения с IME, этот «имитатор» там был уже во времена вторых пентиумов, а настоящий биос - по указанному 0xFFFFFFFF0. Дело в том, что системная прошивка материнок это не что-то статичное, она развивается, для старого софта остаются разные слои совместимости. Можно было с тем же успехом отреверсить содержимое 0xF0000-0xFFFFF и сказать, что у нас есть опенсорсный биос (напомню, уже во времена вторых пентиумов стартового кода там не было, там были только обработчики системных вызовов от софта). Так и сейчас походу что-то подобное происходит.

Это реализация интерфейсов BIOS, написанная (в основном) на C (омофон Sea).

И тут аналогично: современные «интерфейсы BIOS» это вовсе не только и не столько 16-битные прерывания. Современные 32/64-битные ОС тоже пользуются интерфейсами BIOS, например всякими ACPI-таблицами. А ещё, кстати, давным давно (ещё с времён 486) есть SMBIOS, который тоже не часть того кода, который назывался биосом в древние времена. Вобщем, без всего этого современные ОС тупо не запустятся, и называть это опциональным payload-ом странно.

Исправление firkax, :

Обычно под биосом на PC/x86 понимают код, который начинается бутблоком, находящимся (начиная с 386) по адресу (4GB - 16 == 0xFFFF_FFF0). Coreboot действительно содержит код, который может заменить собой и бутблок, и остальное содержимое региона bios в SPI-микросхеме.

(тут надо оговориться, 0xFFFFFFF0 это конечно не начало биоса, а только точка входа, сам биос расположен ниже, но не суть)

Уже давно (начиная с i686 с PAE) не там. Было 0xFFFFFFFF0, а на современных процах этот адрес ещё длиннее думаю. А когда-то раньше было 0xFFFFF0, а ещё раньше 0xFFFF0. Только дело не в этом. По адресу 0xFFFF0 и сейчас есть какой-то код, выглядящий похоже на биос, но там только его имитатор для совместимости с API из 80-х. И речь не про нововведения с IME, этот «имитатор» там был уже во времена вторых пентиумов, а настоящий биос - по указанному 0xFFFFFFFF0. Дело в том, что системная прошивка материнок это не что-то статичное, она развивается, для старого софта остаются разные слои совместимости. Можно было с тем же успехом отреверсить содержимое 0xF0000-0xFFFFF и сказать, что у нас есть опенсорсный биос (напомню, уже во времена вторых пентиумов стартового кода там не было, там были только обработчики системных вызовов от софта). Так и сейчас походу что-то подобное происходит.

Это реализация интерфейсов BIOS, написанная (в основном) на C (омофон Sea).

И тут аналогично: современные «интерфейсы BIOS» это вовсе не только и не столько 16-битные прерывания. Современные 32/64-битные ОС тоже пользуются интерфейсами BIOS, например всякими ACPI-таблицами. А ещё, кстати, давным давно есть SMBIOS, который тоже не часть того кода, который назывался биосом в древние времена. Вобщем, без всего этого современные ОС тупо не запустятся, и называть это опциональным payload-ом странно.

Исходная версия firkax, :

Обычно под биосом на PC/x86 понимают код, который начинается бутблоком, находящимся (начиная с 386) по адресу (4GB - 16 == 0xFFFF_FFF0). Coreboot действительно содержит код, который может заменить собой и бутблок, и остальное содержимое региона bios в SPI-микросхеме.

(тут надо оговориться, 0xFFFFFFF0 это конечно не начало биоса, а только точка входа, сам биос расположен ниже, но не суть)

Уже давно (начиная с i686 с PAE) не там. Было 0xFFFFFFFF0, а на современных процах этот адрес ещё длиннее думаю. А когда-то раньше было 0xFFFFF0, а ещё раньше 0xFFFF0. Только дело не в этом. По адресу 0xFFFF0 и сейчас есть какой-то код, выглядящий похоже на биос, но там только его имитатор для совместимости с API из 80-х. И речь не про нововведения с IME, этот «имитатор» там был уже во времена вторых пентиумов, а настоящий биос - по указанному 0xFFFFFFFF0. Дело в том, что системная прошивка материнок это не что-то статичное, она развивается, для старого софта остаются разные слои совместимости. Можно было с тем же успехом отреверсить содержимое 0xF0000-0xFFFFF и сказать, что у нас есть опенсорсный биос (напомню, уже во времена вторых пентиумов стартового кода там не было, там были только обработчики системных вызовов от софта). Так и сейчас походу что-то подобное происходит.