mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
Remove unused definition from qemu/tree.fs and move cd and hd alias
definition to ide.c (Laurent Vivier) git-svn-id: svn://coreboot.org/openbios/openbios-devel@332 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
\ Qemu specific initialization code
|
\ Qemu specific initialization code
|
||||||
\
|
\
|
||||||
\ Copyright (C) 2005 Stefan Reinauer
|
|
||||||
\
|
|
||||||
\ This program is free software; you can redistribute it and/or
|
\ This program is free software; you can redistribute it and/or
|
||||||
\ modify it under the terms of the GNU General Public License
|
\ modify it under the terms of the GNU General Public License
|
||||||
\ as published by the Free Software Foundation
|
\ as published by the Free Software Foundation
|
||||||
@@ -13,11 +11,21 @@
|
|||||||
|
|
||||||
" /" find-device
|
" /" find-device
|
||||||
|
|
||||||
" chrp" device-type
|
" bootrom" device-type
|
||||||
" OpenSource,QEMU" model
|
" PowerMac1,1" model
|
||||||
" Power Macintosh" encode-string " compatible" property
|
" PowerMac1,1" encode-string
|
||||||
1 encode-int " #interrupt-cells" property
|
" MacRisc" encode-string encode+
|
||||||
|
" Power Macintosh" encode-string encode+ " compatible" property
|
||||||
|
" 0000000000000" encode-string " system-id" property
|
||||||
|
1 encode-int " #address-cells" property
|
||||||
1 encode-int " #size-cells" property
|
1 encode-int " #size-cells" property
|
||||||
|
h# 0x05f5e100 encode-int " clock-frequency" property
|
||||||
|
|
||||||
|
new-device
|
||||||
|
" cpus" device-name
|
||||||
|
1 encode-int " #address-cells" property
|
||||||
|
0 encode-int " #size-cells" property
|
||||||
|
finish-device
|
||||||
|
|
||||||
new-device
|
new-device
|
||||||
" memory" device-name
|
" memory" device-name
|
||||||
@@ -34,222 +42,6 @@ new-device
|
|||||||
0 encode-int " #size-cells" property
|
0 encode-int " #size-cells" property
|
||||||
finish-device
|
finish-device
|
||||||
|
|
||||||
" /pci" find-device
|
|
||||||
h# 01000000 encode-int 0 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 80000000 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 01000000 encode-int encode+
|
|
||||||
h# 02000000 encode-int encode+ 0 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# C0000000 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 08000000 encode-int encode+
|
|
||||||
" ranges" property
|
|
||||||
" IBM,CPC710" model
|
|
||||||
h# FF5F7700 encode-int " 8259-interrupt-acknowledge" property
|
|
||||||
h# 0000F800 encode-int 0 encode-int encode+ 0 encode-int encode+
|
|
||||||
7 encode-int encode+
|
|
||||||
" interrupt-map-mask" property
|
|
||||||
1 encode-int " #interrupt-cells" property
|
|
||||||
h# 80000000 encode-int " system-dma-base" property
|
|
||||||
d# 33333333 encode-int " clock-frequency" property
|
|
||||||
" " encode-string " primary-bridge" property
|
|
||||||
0 encode-int " pci-bridge-number" property
|
|
||||||
h# FEC00000 encode-int h# 100000 encode-int encode+ " reg" property
|
|
||||||
0 encode-int 0 encode-int encode+ " bus-range" property
|
|
||||||
|
|
||||||
new-device
|
|
||||||
" isa" device-name
|
|
||||||
" isa" device-type
|
|
||||||
2 encode-int " #address-cells" property
|
|
||||||
1 encode-int " #size-cells" property
|
|
||||||
|
|
||||||
external
|
|
||||||
: open true ;
|
|
||||||
: close ;
|
|
||||||
|
|
||||||
finish-device
|
|
||||||
|
|
||||||
: ?devalias ( alias-str alias-len device-str device-len --
|
|
||||||
\ alias-str alias-len false | true )
|
|
||||||
active-package >r
|
|
||||||
" /aliases" find-device
|
|
||||||
\ 2dup ." Checking " type
|
|
||||||
2dup find-dev if \ check if device exists
|
|
||||||
drop
|
|
||||||
2over find-dev if \ do we already have an alias?
|
|
||||||
\ ." alias exists" cr
|
|
||||||
drop 2drop false
|
|
||||||
else
|
|
||||||
\ ." device exists" cr
|
|
||||||
encode-string
|
|
||||||
2swap property
|
|
||||||
true
|
|
||||||
then
|
|
||||||
else
|
|
||||||
\ ." device doesn't exist" cr
|
|
||||||
2drop false
|
|
||||||
then
|
|
||||||
r> active-package!
|
|
||||||
;
|
|
||||||
|
|
||||||
:noname
|
|
||||||
" hd"
|
|
||||||
" /pci/pci-ata/ata-1/disk@0" ?devalias not if
|
|
||||||
" /pci/pci-ata/ata-1/disk@1" ?devalias not if
|
|
||||||
" /pci/pci-ata/ata-2/disk@0" ?devalias not if
|
|
||||||
" /pci/pci-ata/ata-2/disk@1" ?devalias not if
|
|
||||||
2drop ." No disk found." cr
|
|
||||||
then
|
|
||||||
then
|
|
||||||
then
|
|
||||||
then
|
|
||||||
|
|
||||||
" cd"
|
|
||||||
" /pci/pci-ata/ata-1/cdrom@0" ?devalias not if
|
|
||||||
" /pci/pci-ata/ata-1/cdrom@1" ?devalias not if
|
|
||||||
" /pci/pci-ata/ata-2/cdrom@0" ?devalias not if
|
|
||||||
" /pci/pci-ata/ata-2/cdrom@1" ?devalias not if
|
|
||||||
2drop ." No cdrom found" cr
|
|
||||||
then
|
|
||||||
then
|
|
||||||
then
|
|
||||||
then
|
|
||||||
; SYSTEM-initializer
|
|
||||||
|
|
||||||
new-device
|
|
||||||
" ide" device-name
|
|
||||||
" ide" device-type
|
|
||||||
" WINBOND,82C553" model
|
|
||||||
h# 28 encode-int " max-latency" property
|
|
||||||
h# 2 encode-int " min-grant" property
|
|
||||||
h# 1 encode-int " devsel-speed" property
|
|
||||||
h# 0 encode-int " subsystem-vendor-id" property
|
|
||||||
h# 0 encode-int " subsystem-id" property
|
|
||||||
h# 1018A encode-int " class-code" property
|
|
||||||
h# 5 encode-int " revision-id" property
|
|
||||||
h# 105 encode-int " device-id" property
|
|
||||||
h# 10AD encode-int " vendor-id" property
|
|
||||||
h# 1003110 encode-int 0 encode-int encode+ h# 10020 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003114 encode-int 0 encode-int encode+ h# 10030 encode-int encode+
|
|
||||||
h# 4 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003118 encode-int 0 encode-int encode+ h# 10040 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 100311C encode-int 0 encode-int encode+ h# 10034 encode-int encode+
|
|
||||||
h# 4 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003120 encode-int 0 encode-int encode+ h# 10050 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003124 encode-int 0 encode-int encode+ h# 10060 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
" assigned-addresses" property
|
|
||||||
h# 3100 encode-int 0 encode-int encode+ 0 encode-int encode+
|
|
||||||
0 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003110 encode-int 0 encode-int encode+ h# 0 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003114 encode-int 0 encode-int encode+ h# 0 encode-int encode+
|
|
||||||
h# 4 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003118 encode-int 0 encode-int encode+ h# 0 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 100311C encode-int 0 encode-int encode+ h# 0 encode-int encode+
|
|
||||||
h# 4 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003120 encode-int 0 encode-int encode+ h# 0 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
h# 1003124 encode-int 0 encode-int encode+ h# 0 encode-int encode+
|
|
||||||
h# 10 encode-int encode+ 0 encode-int encode+
|
|
||||||
" reg" property
|
|
||||||
finish-device
|
|
||||||
|
|
||||||
new-device
|
|
||||||
" ethernet" device-name
|
|
||||||
" network" device-type
|
|
||||||
" AMD,79C973" model
|
|
||||||
h# 3800 encode-int 0 encode-int encode+ 0 encode-int encode+
|
|
||||||
0 encode-int encode+ 0 encode-int encode+
|
|
||||||
" reg" property
|
|
||||||
finish-device
|
|
||||||
|
|
||||||
" /pci/isa" find-device
|
|
||||||
0 0 " assigned-addresses" property
|
|
||||||
0 0 " ranges" property
|
|
||||||
0 encode-int " slot-names" property
|
|
||||||
d# 8333333 encode-int " clock-frequency" property
|
|
||||||
0 encode-int " eisa-slots" property
|
|
||||||
2 encode-int " #interrupt-cells" property
|
|
||||||
" W83C553F" encode-string " compatible" property
|
|
||||||
" WINBOND,82C553" model
|
|
||||||
0 encode-int " max-latency" property
|
|
||||||
0 encode-int " min-grant" property
|
|
||||||
1 encode-int " devsel-speed" property
|
|
||||||
0 encode-int " subsystem-vendor-id" property
|
|
||||||
0 encode-int " subsystem-id" property
|
|
||||||
h# 60100 encode-int " class-code" property
|
|
||||||
h# 10 encode-int " revision-id" property
|
|
||||||
h# 565 encode-int " device-id" property
|
|
||||||
h# 10AD encode-int " vendor-id" property
|
|
||||||
h# 3000 encode-int 0 encode-int encode+ 0 encode-int encode+
|
|
||||||
0 encode-int encode+ 0 encode-int encode+ " reg" property
|
|
||||||
|
|
||||||
new-device
|
|
||||||
" rtc" device-name
|
|
||||||
" rtc" device-type
|
|
||||||
" DS17285S" model
|
|
||||||
" MC146818" encode-string
|
|
||||||
" DS17285S" encode-string encode+
|
|
||||||
" pnpPNP,b00" encode-string encode+ " compatible" property
|
|
||||||
8 encode-int 0 encode-int encode+ " interrupts" property
|
|
||||||
h# 70 encode-int 1 encode-int encode+
|
|
||||||
2 encode-int encode+ " reg" property
|
|
||||||
finish-device
|
|
||||||
|
|
||||||
new-device
|
|
||||||
" interrupt-controller" device-name
|
|
||||||
" interrupt-controller" device-type
|
|
||||||
" 8259" model
|
|
||||||
" " encode-string " interrupt-controller" property
|
|
||||||
2 encode-int " #interrupt-cells" property
|
|
||||||
1 encode-int
|
|
||||||
2 encode-int encode+
|
|
||||||
3 encode-int encode+
|
|
||||||
6 encode-int encode+
|
|
||||||
" reserved-interrupts" property
|
|
||||||
" 8259" encode-string
|
|
||||||
" chrp,iic" encode-string encode+
|
|
||||||
" compatible" property
|
|
||||||
h# 20 encode-int 1 encode-int encode+
|
|
||||||
2 encode-int encode+ " reg" property
|
|
||||||
finish-device
|
|
||||||
|
|
||||||
new-device
|
|
||||||
" serial" device-name
|
|
||||||
" serial" device-type
|
|
||||||
" no" encode-string " ctsrts" property
|
|
||||||
" no" encode-string " xon" property
|
|
||||||
" no" encode-string " parity" property
|
|
||||||
d# 115200 encode-int " bps" property
|
|
||||||
1 encode-int " stop-bits" property
|
|
||||||
8 encode-int " data-bits" property
|
|
||||||
h# 70800 encode-int " divisor" property
|
|
||||||
h# 708000 encode-int " clock-frequency" property
|
|
||||||
4 encode-int 0 encode-int encode+ " interrupts" property
|
|
||||||
h# 3F8 encode-int 1 encode-int encode+
|
|
||||||
8 encode-int encode+ " reg" property
|
|
||||||
finish-device
|
|
||||||
|
|
||||||
" /pci" find-device
|
|
||||||
" /pci/isa/interrupt-controller" find-dev if
|
|
||||||
encode-int " interrupt-parent" property
|
|
||||||
then
|
|
||||||
h# 3800 encode-int 0 encode-int encode+
|
|
||||||
0 encode-int encode+ 1 encode-int encode+
|
|
||||||
" /pci/isa/interrupt-controller" find-dev if
|
|
||||||
encode-int encode+
|
|
||||||
then
|
|
||||||
h# 0C encode-int encode+ 1 encode-int encode+
|
|
||||||
" interrupt-map" property
|
|
||||||
|
|
||||||
" /pci/isa" find-device
|
|
||||||
" /pci/isa/interrupt-controller" find-dev if
|
|
||||||
encode-int " interrupt-parent" property
|
|
||||||
then
|
|
||||||
|
|
||||||
\ -------------------------------------------------------------
|
\ -------------------------------------------------------------
|
||||||
\ /packages
|
\ /packages
|
||||||
\ -------------------------------------------------------------
|
\ -------------------------------------------------------------
|
||||||
|
|||||||
@@ -1314,7 +1314,12 @@ int ob_ide_init(const char *path, uint32_t io_port0, uint32_t ctl_port0,
|
|||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
char nodebuff[32];
|
char nodebuff[32];
|
||||||
phandle_t dnode;
|
phandle_t dnode, aliases;
|
||||||
|
int hd_found, cd_found;
|
||||||
|
|
||||||
|
aliases = find_dev("/aliases");
|
||||||
|
hd_found = 0;
|
||||||
|
cd_found = 0;
|
||||||
|
|
||||||
io_ports[0] = io_port0;
|
io_ports[0] = io_port0;
|
||||||
ctl_ports[0] = ctl_port0 + 2;
|
ctl_ports[0] = ctl_port0 + 2;
|
||||||
@@ -1404,6 +1409,19 @@ int ob_ide_init(const char *path, uint32_t io_port0, uint32_t ctl_port0,
|
|||||||
REGISTER_NAMED_NODE(ob_ide, nodebuff);
|
REGISTER_NAMED_NODE(ob_ide, nodebuff);
|
||||||
dnode=find_dev(nodebuff);
|
dnode=find_dev(nodebuff);
|
||||||
set_int_property(dnode, "reg", j);
|
set_int_property(dnode, "reg", j);
|
||||||
|
|
||||||
|
/* create aliases */
|
||||||
|
|
||||||
|
if (drive->media == ide_media_cdrom && !cd_found) {
|
||||||
|
cd_found = 1;
|
||||||
|
set_property(aliases, "cd",
|
||||||
|
nodebuff, strlen(nodebuff) + 1);
|
||||||
|
}
|
||||||
|
if (drive->media == ide_media_disk && !hd_found) {
|
||||||
|
hd_found = 1;
|
||||||
|
set_property(aliases, "hd",
|
||||||
|
nodebuff, strlen(nodebuff) + 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user