In the AMD8111_lpc.c
static void amd8111_lpc_enable_resources(device_t dev) { pci_dev_enable_resources(dev);
enable_childrens_resources(dev); }
static struct device_operations lpc_ops = { .read_resources = amd8111_lpc_read_resources, .set_resources = pci_dev_set_resources, .enable_resources = amd8111_lpc_enable_resources, .init = lpc_init, .scan_bus = scan_static_bus, // .enable = amd8111_enable, .ops_pci = &lops_pci, };
So I guess you need to add the device driver for the lpc in SB.
Then the scan_static_bus and enable_childrens_resources(dev) will be called.
Regards
YH
-----Original Message----- From: Greg Watson [mailto:gwatson@lanl.gov] Sent: Wednesday, November 24, 2004 1:29 PM To: 'LinuxBIOS' Subject: pnp_enable_resource not being called
The sandpoint has the following structure:
Northbridge MPC107 --> Southbridge W83C553 --> Superio PC97307
The config file looks like:
chip northbridge/motorola/mpc107 device pci_domain 0 on device pci 0.0 on end device pci b.0 on chip southbridge/winbond/w83c553 chip superio/NSC/pc97307 device pnp 15c.0 on end # Kyeboard device pnp 15c.1 on end # Mouse device pnp 15c.2 on end # Real-time Cloc k device pnp 15c.3 on end # Floppy device pnp 15c.4 on end # Parallel port device pnp 15c.5 on end # com2 device pnp 15c.6 on end # com1 device pnp 15c.7 on end # gpio device pnp 15c.8 on end # Power manageme nt end end end # pci to isa bridge device pci b.1 on end # pci ide controller end device cpu_bus 0 on chip cpu/ppc/mpc74xx device cpu 0 on end end end end
The dev_enumerate() code is calling the PNP enable routines and the dev_initialize() code is calling the PNP init routine. However the dev_enable() code never calls the PNP enable_resource routine, which means the the PNP devices are never actually enabled.
The enable_dev routine for the superio device calls:
pnp_enable_devices(dev, &ops, sizeof(pnp_dev_info)/sizeof(pnp_dev_info[0]), pnp_dev_info);
where ops is defined as:
static struct device_operations ops = { .read_resources = pnp_read_resources, .set_resources = pnp_set_resources, .enable_resources = pnp_enable_resources, .enable = pnp_enable, .init = init, };
Any ideas why this is not working? Is there something else that needs to happen?
Greg
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
YH,
Thanks, that seems to have fixed the problem.
Greg
On Nov 24, 2004, at 3:48 PM, YhLu wrote:
In the AMD8111_lpc.c
static void amd8111_lpc_enable_resources(device_t dev) { pci_dev_enable_resources(dev);
enable_childrens_resources(dev);
}
static struct device_operations lpc_ops = { .read_resources = amd8111_lpc_read_resources, .set_resources = pci_dev_set_resources, .enable_resources = amd8111_lpc_enable_resources, .init = lpc_init, .scan_bus = scan_static_bus, // .enable = amd8111_enable, .ops_pci = &lops_pci, };
So I guess you need to add the device driver for the lpc in SB.
Then the scan_static_bus and enable_childrens_resources(dev) will be called.
Regards
YH
-----Original Message----- From: Greg Watson [mailto:gwatson@lanl.gov] Sent: Wednesday, November 24, 2004 1:29 PM To: 'LinuxBIOS' Subject: pnp_enable_resource not being called
The sandpoint has the following structure:
Northbridge MPC107 --> Southbridge W83C553 --> Superio PC97307
The config file looks like:
chip northbridge/motorola/mpc107 device pci_domain 0 on device pci 0.0 on end device pci b.0 on chip southbridge/winbond/w83c553 chip superio/NSC/pc97307 device pnp 15c.0 on end # Kyeboard device pnp 15c.1 on end # Mouse device pnp 15c.2 on end # Real-time Cloc k device pnp 15c.3 on end # Floppy device pnp 15c.4 on end # Parallel port device pnp 15c.5 on end # com2 device pnp 15c.6 on end # com1 device pnp 15c.7 on end # gpio device pnp 15c.8 on end # Power manageme nt end end end # pci to isa bridge device pci b.1 on end # pci ide controller end device cpu_bus 0 on chip cpu/ppc/mpc74xx device cpu 0 on end end end end
The dev_enumerate() code is calling the PNP enable routines and the dev_initialize() code is calling the PNP init routine. However the dev_enable() code never calls the PNP enable_resource routine, which means the the PNP devices are never actually enabled.
The enable_dev routine for the superio device calls:
pnp_enable_devices(dev, &ops, sizeof(pnp_dev_info)/sizeof(pnp_dev_info[0]),
pnp_dev_info);
where ops is defined as:
static struct device_operations ops = { .read_resources = pnp_read_resources, .set_resources = pnp_set_resources, .enable_resources = pnp_enable_resources, .enable = pnp_enable, .init = init, };
Any ideas why this is not working? Is there something else that needs to happen?
Greg
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
I've got it to run to the point that it jumps to the ELF entry. My payload is a FILO.
What should I see after it jumps to the ELF entry? I guess the FILO program will start to run, correct?
I have not got my VGA up, so I can't see if it really boots the ELF entry successfully. Maybe that's what I should do.
Gin
On Sun, 28 Nov 2004, Gin wrote:
I have not got my VGA up, so I can't see if it really boots the ELF entry successfully. Maybe that's what I should do.
forget vga, use serial port for now.
ron