Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
17 user(s) are online (11 user(s) are browsing Forums)

Members: 0
Guests: 17

more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 4 5 6 (7) 8 9 10 11 »
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@balaton
I will try now just the clean SSD, and will experiment a bit. I am sure someone already did all of this back in the past, just can't find anything about in the google.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@kas1e

In your video I can see that you iniciate everything correctly so it is redundant in that line I gave you "video=uvesafb:1680x1050-32, console=tty0"
You can substitute add possibly console=ttyS0 serial was your console and you should see kernel and boot logs and log in to the system via console.

My boot partition is definitely ext2. SmartFirmware can't read ext4 and my head partition is ext4.

I will quickly install Debian on QEMU with Pegasos for a test give boot on the end of the disk outside the 2GB area what will happen

Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@all
So, tried clean SSD : created 100mb of Ext2 (with mount point /boot) , 50 GB of Ext3 and (with mount point /) and 5 gb of SWAP. Then installed the base system , reboot, and can do "ls hd:0" :

entering main read/eval loop...ESC to abortENTER to boot:
ok ls hd:0
.
..
lost+found
config
-3.16.0-6-powerpc
vmlinux
-3.16.0-6-powerpc
vmlinux
initrd
.img
vmlinuz
System
.map-3.16.0-6-powerpc
vmlinuz
-3.16.0-6-powerpc
initrd
.img-3.16.0-6-powerpc


Then typed:

boot hd:0 vmlinuz root=/dev/sda2

And it again the same hang ! Again didn't take into action initrd:

ok boot hd:0 vmlinuz root=/dev/sda2


following symlink vmlinuz
symlink followed to vmlinuz
-3.16.0-6-powerpc

zImage starting
loaded at 0x00400000 (sp0x00762fa0)
Allocating 0x8a1ec0 bytes for kernel ...
OF version 'Pegasos2,1.2'
Trying to claim from 0x400000 to 0x76edfc (0x36edfcgot 400000
gunzipping 
(0x01800000 <- 0x0040c000:0x00761c62)...done 0x743000 bytes

Linux
/PowerPC loadroot=/dev/sda2
Finalizing device tree
... using OF tree (promptr=01003bc4)
OF stdout device is: /bootconsole
Preparing to boot Linux version 3.16.0
-6-powerpc (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 Debian 3.16.56-1+deb8u1 (2018-05-08)
Detected machine type00000500
command line
root=/dev/sda2
memory layout at init
:
  
memory_limit 00000000 (16 MB aligned)
  
alloc_bottom 020a6000
  alloc_top    
30000000
  alloc_top_hi 
40000000
  rmo_top      
30000000
  ram_top      
40000000
instantiating rtas at 0x0fbfd000
... done
Fixing up missing ISA range on Pegasos
...
Fixing up IDE interrupt on Pegasos...
Fixing up IDE class-code on Pegasos...
copying OF device tree...
Building dt strings...
Building dt structure...
Device tree strings 0x020a7000 -> 0x020a77c3
Device tree struct  0x020a8000 
-> 0x020cb000
Calling quiesce
...
returning from prom_init

Linux
/PPC 3.16.0

arch
: exit

  
Have fun!


@smarkusg
Quote:

My boot partition is definitely ext2. SmartFirmware can't read ext4 and my head partition is ext4.


Yeah, when i do have ext2 as first one, then insdeed i can "ls" it from openfirmware. But then, i can the same manually put kernels to my FFS boot partition and boot from it. As of now, it seems that problem somewhere else on my own, because it always can't attach/find initrd , even if I use clean SSD.

It's like installation process didn't do something which should call to load initrd stuff.


ps. And i also use debian-8.11.0-powerpc-netinst.iso if that make sence when installing OS.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@kas1e

Ok I installed 6GB drive , boot partition over 5GB
sees the partition

RDB partition 0 : (0x4C4E5800)
RDB partition 1 : (0x0)
RDB partition 2 : (0x53575000)
RDB partition 3 : (0x4C4E5800)
ok ls hd:3
.
..
lost+found
config-3.16.0-6-powerpc
vmlinux-3.16.0-6-powerpc
vmlinux
initrd.img
vmlinuz
System.map-3.16.0-6-powerpc
vmlinuz-3.16.0-6-powerpc
initrd.img-3.16.0-6-powerpc
ok


sees boot works, system gets up
don't know what you are doing wrong :(






edit

You can see that there is supposedly a hd:0 ext2 partition but there is nothing there it is mounted in linux/debian under /opt

Quote:
Welcome to SmartFirmware(tm) for bplan Pegasos2 version 1.2 (20040810112413)
SmartFirmware(tm) Copyright 1996-2001 by CodeGen, Inc.
All Rights Reserved.
Pegasos BIOS Extensions Copyright 2001-2004 by bplan GmbH.
All Rights Reserved.
entering main read/eval loop...
ok cd ide
ok ls
RDB partition 0 <LNX>: <dhx> (0x4C4E5800)
RDB partition 1 <unknown>: <dhx> (0x0)
RDB partition 2 <unknown>: <dhx> (0x53575000)
RDB partition 3 <LNX>: <dhx> (0x4C4E5800)
ok ls hd:0
.
..
lost+found
ok ls hd:1
ok ls hd:2
ok ls hd:3
.
..
lost+found
config-3.16.0-6-powerpc
vmlinux-3.16.0-6-powerpc
vmlinux
initrd.img
vmlinuz
System.map-3.16.0-6-powerpc
vmlinuz-3.16.0-6-powerpc
initrd.img-3.16.0-6-powerpc
ok

Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@smarkusg

Do you use DVD-ISO1 always, and never netinstall.iso ? I vaguely remember this one may have an issue, can't remember which ones... found this:

https://lists.debian.org/debian-powerpc/2015/06/msg00005.html


Also issues with un-reading ext2 fs from OF can be because of "too many" previous volumes, or too far behind the beginning (200-300gb) or something .. At least with new hdd , i can list ext2fs partition, but then it didn't fix my issue with non-booting after install, as they seem different.

But then it also mean, that then i basically can use my old FFS boot partition with no problems either once i deal with this non booting issue, as it seems irrelevant from where boot kernel if OF can see it: all it needs to provide path to root partition (if installation went fine..)

Will try CD-1.iso instead of netinstall.iso now

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@kas1e

Here is the disc from which it installs
MD5 (debian-8.11.0-powerpc-DVD-1.iso) = 6b5fc6ca399268901c4a8e76100679e0


There was also OpenSUSE on Pegasos 2 but I did not install, maybe see here , you need to translate because it is in Polish

https://www.ppa.pl/programy/opensuse-i-pegasos-2.html

Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@all
Which version of Ubuntu is the latest one for pegasos2 ? I mean 16.04, but which one ? I found these:

ubuntu-16.04.6-server-powerpc.iso (720 mb of size)
ubuntu-mate-16.04.1-desktop-powerpc.iso (1.6gb of size)

If someone can bring a working link to the very latest working one, that will help, thanks !

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@smarksugs
Installing from powerpc-DVD-1.iso works fine ! I can see that when installation finished, it doing some more steps in "Finishing installation" stage, and then, i am able to boot correctly, and in the log i can see that initrd image attached.

So, netinstall.iso is broken for full installation seems so (at least on real Pegasos2). You can boot from it, but not sure if you can install working system from netinstall.iso even over QEMU.

Now ... Time to check Bridge with something like X1500 if it works at all.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@All
So, installation done, working , i attached my Pericom "PI7C9X111SL" bridge to pegasos2 and install an X1950 XT in it (this is together with Radeon9250 installed in and booted from).

Now, when i type "lspci -knn", i do have this:

0000:00:00.0 Host bridge [0600]: Marvell Technology Group LtdMV64360/64361/64362 System Controller [11ab:6460] (rev 03)
0000:00:01.0 FireWire (IEEE 1394) [0c00]: VIA TechnologiesIncVT6306/7/[Fire II(M)] IEEE 1394 OHCI Controller [1106:3044] (rev 46)
        
SubsystemVIA TechnologiesIncVT6306/7/[Fire II(M)] IEEE 1394 OHCI Controller [1106:3044]
        
Kernel driver in use: firewire_ohci
0000
:00:06.0 PCI bridge [0604]: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge [12d8:e111] (rev 02)
0000:00:0c.0 ISA bridge [0601]: VIA TechnologiesIncVT8231 [PCI-to-ISA Bridge] [1106:8231] (rev 10)
        
Kernel driver in use: parport_pc
0000
:00:0c.1 IDE interface [0101]: VIA TechnologiesIncVT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE [1106:0571] (rev 06)
        
Kernel driver in use: pata_via
0000
:00:0c.2 USB controller [0c03]: VIA TechnologiesIncVT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 1e)
        
SubsystemVIA TechnologiesInc. (Wrong IDVA-502 Mainboard [0925:1234]
        
Kernel driver in use: uhci_hcd
0000
:00:0c.3 USB controller [0c03]: VIA TechnologiesIncVT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 1e)
        
SubsystemVIA TechnologiesInc. (Wrong IDVA-502 Mainboard [0925:1234]
        
Kernel driver in use: uhci_hcd
0000
:00:0c.4 Bridge [0680]: VIA TechnologiesIncVT8235 ACPI [1106:8235] (rev 10)
0000:00:0c.5 Multimedia audio controller [0401]: VIA TechnologiesIncVT82C686 AC97 Audio Controller [1106:3058] (rev 40)
        
Kernel driver in use: snd_via82xx
0000
:00:0c.6 Communication controller [0780]: VIA TechnologiesIncAC'97 Modem Controller [1106:3068] (rev 20)
0000:00:0d.0 Ethernet controller [0200]: VIA Technologies, Inc. VT6102 [Rhine-II] [1106:3065] (rev 51)
        Subsystem: Device [3065:1106]
        Kernel driver in use: via-rhine
0000:01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] R580+ [Radeon X1950 XT] [1002:7244]
0001:02:00.0 Host bridge [0600]: Marvell Technology Group Ltd. MV64360/64361/64362 System Controller [11ab:6460] (rev 03)
0001:02:08.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] [1002:5960] (rev 01)
        Subsystem: Tul Corporation / PowerColor Device [148c:2093]
        Kernel driver in use: radeon
0001:02:08.1 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] (Secondary) [1002:5940] (rev 01)
        Subsystem: Tul Corporation / PowerColor Device [148c:2092]


So, bridge definitely can be seen:

0000:00:06.0 PCI bridge [0604]: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge [12d8:e111] (rev 02)


So as X1950 XT in it:

0000:01:00.0 VGA compatible controller [0300]: Advanced Micro DevicesInc. [AMD/ATIR580+ [Radeon X1950 XT] [1002:7244]


Now the question is : how to make X1950 to output on ? Should i install some driver for firstly somehow (at least as i know X1950 do have powerpc drivers, right?)

Simple plugging radeon9250 off, and attach video cable to X1950 do not make any output (probably because no driver loaded up automatically, dunno).

Is this "radeon" driver should support X1950 ? If so, how can i say to kernel to use the card in the bridge, and not the radeon9250 in AGP ? Or maybe another driver should be used ?


Edited by kas1e on 2024/4/21 12:42:26
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@All
Ok, that the next test i do :

I plugged off Radeon9250, keep only Bridge+Radeon X1950 in, installed SSHD server, and boot the linux. Now, when i do "lspci -knn" , i had:

root@debian:/home/kas1e# lspci -knn
0000:00:00.0 Host bridge [0600]: Marvell Technology Group LtdMV64360/64361/64362 System Controller [11ab:6460] (rev 03)
0000:00:01.0 FireWire (IEEE 1394) [0c00]: VIA TechnologiesIncVT6306/7/[Fire II(M)] IEEE 1394 OHCI Controller [1106:3044] (rev 46)
        
SubsystemVIA TechnologiesIncVT6306/7/[Fire II(M)] IEEE 1394 OHCI Controller [1106:3044]
        
Kernel driver in use: firewire_ohci
0000
:00:06.0 PCI bridge [0604]: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge [12d8:e111] (rev 02)
0000:00:0c.0 ISA bridge [0601]: VIA TechnologiesIncVT8231 [PCI-to-ISA Bridge] [1106:8231] (rev 10)
        
Kernel driver in use: parport_pc
0000
:00:0c.1 IDE interface [0101]: VIA TechnologiesIncVT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE [1106:0571] (rev 06)
        
Kernel driver in use: pata_via
0000
:00:0c.2 USB controller [0c03]: VIA TechnologiesIncVT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 1e)
        
SubsystemVIA TechnologiesInc. (Wrong IDVA-502 Mainboard [0925:1234]
        
Kernel driver in use: uhci_hcd
0000
:00:0c.3 USB controller [0c03]: VIA TechnologiesIncVT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 1e)
        
SubsystemVIA TechnologiesInc. (Wrong IDVA-502 Mainboard [0925:1234]
        
Kernel driver in use: uhci_hcd
0000
:00:0c.4 Bridge [0680]: VIA TechnologiesIncVT8235 ACPI [1106:8235] (rev 10)
0000:00:0c.5 Multimedia audio controller [0401]: VIA TechnologiesIncVT82C686 AC97 Audio Controller [1106:3058] (rev 40)
        
Kernel driver in use: snd_via82xx
0000
:00:0c.6 Communication controller [0780]: VIA TechnologiesIncAC'97 Modem Controller [1106:3068] (rev 20)
0000:00:0d.0 Ethernet controller [0200]: VIA Technologies, Inc. VT6102 [Rhine-II] [1106:3065] (rev 51)
        Subsystem: Device [3065:1106]
        Kernel driver in use: via-rhine
0000:01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] R580+ [Radeon X1950 XT] [1002:7244]
0001:02:00.0 Host bridge [0600]: Marvell Technology Group Ltd. MV64360/64361/64362 System Controller [11ab:6460] (rev 03)


So the same bridge and X1950 in found, but no driver loaded (probabaly this "radeon" driver should be ok for ?)

Then, i do "dmesg | egrep 'drm|radeon'" , and that what we have:

root@debian:/home/kas1e# dmesg | egrep 'drm|radeon'
[   30.283165] [drmInitialized drm 1.1.0 20060810
[   31.088890] [drmradeon kernel modesetting enabled.
[   
31.574171] [drminitializing kernel modesetting (R580 0x1002:0x7244 0x0000:0x0000).
[   
31.675977__ioremap(): phys addr 0x0 is RAM lr radeon_device_init [radeon]
[   
31.760392radeon 0000:01:00.0Fatal error during GPU init
[   32.791013radeonprobe of 0000:01:00.0 failed with error -12
root
@debian:/home/kas1e#


I can be wrong, but it seems that phys address is set to 0x0 again (the same as we have under amigaos4 as far as i understand).

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@kas1e

I just answered on hyperion website ( look here for example).
Try to setup xorg.conf with right BusID.

When I will be at home, I will send examples of config.

AmigaOS3: Amiga 1200
AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000
MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@balaton

I took a quick look at the BBoot source-code. Is it accessing PCI configuration registers via register accesses instead of using OpenFirmware's function calls for that?

If so, is there documentation on how it's done?

The major problem blocking the use of RadeonHD/RX cards on the Pegasos-2, is that attempting to access its PCI configuration registers fails. Reads return either 0, or 0xFFFFFFFF, and writes fail. This is using RTAS calls.

From kas1e's tests, it looks like Linux may also be unable to access the configuration registers.

The Pegasos-II firmware was clearly able to access the device's config registers at some point, or the device wouldn't be listed in the device tree.

If there's documentation on how to read the PCI configuration registers of any device directly (i.e., without RTAS), then we may have a chance to get it working.

Hans

Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@kas1e
Quote:
@smarksugs
Installing from powerpc-DVD-1.iso works fine ! I can see that when installation finished, it doing some more steps in "Finishing installation" stage, and then, i am able to boot correctly, and in the log i can see that initrd image attached.

I forgot that Debian 8 "jessie" was ported to the archive in 2020.
The Net installation (netinstall.iso) even if you can't download packages contains the "base" core packages.
It should install itself. It is possible. that in case of correct apt/sources.list entries it does not complete the installation correctly.

If you need to install any packages, use the packages from the install DVD. The entries should be apt/sources.list.
You can change the installation of packages from the repository by changing the domain to "archive.debian.org", but this should not be necessary for your needs.

Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@smarkusg
I of course tried and pure base install from netiso, and with manual typing of correct mirrors working today (archive...something, and it dl stuff from net when install), but in any case it fail. But from dvd1.iso all goes well. Its like net install is broken in some way and didnt manage properly to do post install steps to make system to boot.

But so far dvd one works, that enough for our tests :)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@smarkusg

Quote:
The Net installation (netinstall.iso) even if you can't download packages contains the "base" core packages.


I've never seen that happen for a standard net install. They always needed internet connection. The Sam install CDs for example won't even get to the installer without a working server.

Quote:
You can change the installation of packages from the repository by changing the domain to "archive.debian.org", but this should not be necessary for your needs.


I've not got this to work. A few months ago I booted a Debian net installer and looked for a working repo. I must have spent over two hours looking for a working source and every one I found online failed without working ppc32 support.

Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@Hypex
Quote:

I've never seen that happen for a standard net install. They always needed internet connection. The Sam install CDs for example won't even get to the installer without a working server.


The Debian net install can install without internet connection for sure : it says "you have no connection, install the base minimal setup ?" , but then, even if it installs it, it misses some post-install steps, making the system not bootable in the end.

Quote:

I've not got this to work. A few months ago I booted a Debian net installer and looked for a working repo. I must have spent over two hours looking for a working source, and every one I found online failed without working ppc32 support.


You didn't search close enough for, in the Google there are few places pointing to correct servers which can be used with Debian (at least the one for pegasos2, which is 8.11):

deb http://archive.debian.org/debian/ jessie main non-free contrib
 
deb-src http://archive.debian.org/debian/ jessie main non-free contrib

deb http://archive.debian.org/debian-security/ jessie/updates main non-free contrib
 
deb-src http://archive.debian.org/debian-security/ jessie/updates main non-free contrib



@All
Please not deral thread too much now, we need Balaton to see what Hans ask, as this is what important for us in this thread. Thanks !

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Not too shy to talk
Not too shy to talk


See User information
@kas1e
my xorg.confs are on hyperion site

So if you have in lspci: 0000:01:00.0
in xorg.conf in Device section probably should be:

BusID "PCI:1@0:0:0"
or
BusID "PCI:1:0:0"

Section "Device"
     
Option     "Accel"    "yes"             # [<bool>]
     
Identifier  "Radeon X1950 XT"
     
Driver      "radeon"
     
BusID       "PCI:1@0:0:0"
EndSection

AmigaOS3: Amiga 1200
AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000
MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Quite a regular
Quite a regular


See User information
@Hans
I don't know of any docs on pegasos2 specifically but there are some docs on OpenFirmware here: https://openfirmware.info/Bindings and on PCI there are many on the net. You may also look at some BSD sources but not GPL code if you want to use it in non-GPL closed source project.

Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@balaton
So in bboot you accessing PCI configuration registers directly and not OpenFirmware's calls for that? I.e. no RTAS and co ?

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Pegasos2 with RadeonHD/RX via bridge
Home away from home
Home away from home


See User information
@balaton

Where did you get this from (bboot/brd_pegasos2):
static int bases_for_bus(prom_handle ph)
{
    
int iprom_getprop(ph"ranges"cellssizeof(cells));
    if (
<= 0) {
        
puts("Cannot get ranges");
        return 
0;
    }
    
/= sizeof(cells[0]);
    for (
0n+= 6) {
        switch (
PHYS_HI_TYPE(cells[i])) {
        case 
1:
            
iobase cells[3];
            
iolen cells[5];
            break;
        case 
2:
            
membase cells[3];
            
memlen cells[5];
            break;
        }
    }
    if (!
iobase || !iolen || !membase || !memlen) {
        
puts("Cannot get ranges");
        return 
0;
    }
    
printf("/pci@%x: io %x/%x mem %x/%x\n"membaseiobaseiolenmembasememlen);
    
memavail membase;
    
unsigned long pci_cfgbase;
    if (
membase == 0x80000000) {
        
ioresavail IORES_START/* reserved for south bridge functions */
        
ioavail IORES_TOP;
        
pci_cfgbase MV64361_BASE 0xc78;
    } else if (
membase == 0xc0000000) {
        
ioresavail iolen/* no reserved space on this bus */
        
ioavail IORES_START;
        
pci_cfgbase MV64361_BASE 0xcf8;
    } else {
        
puts("Unknown PCI bus");
        return 
0;
    }
    
pci_set_addr(pci_cfgbasepci_cfgbase 4);
    return 
1;
}


Then in pci.c:
void pci_set_addr(unsigned long conf_addrunsigned long data_addr)
{
    
pci_conf_addr conf_addr;
    
pci_data_addr data_addr;
}

u8 pci_read_config8(pcidev_t deviceu16 reg)
{
    
write32_le(pci_conf_addrdevice reg | (1UL << 31));
    return 
read8(pci_data_addr);
}

u16 pci_read_config16(pcidev_t deviceu16 reg)
{
    
write32_le(pci_conf_addrdevice reg | (1UL << 31));
    return 
read16_le(pci_data_addr);
}

u32 pci_read_config32(pcidev_t deviceu16 reg)
{
    
write32_le(pci_conf_addrdevice reg | (1UL << 31));
    return 
read32_le(pci_data_addr);
}

...


This code performs direct register writes instead of using OpenFirmware calls or RTAS.

Hans

Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
Go to top

  Register To Post
« 1 ... 4 5 6 (7) 8 9 10 11 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project