chip northbridge/amd/amdk8/root_complex
        device cpu_cluster 0 on
                chip cpu/amd/socket_940
                        device lapic 0 on end
                end
        end
	device domain 0 on
		subsystemid 0x10f1 0x2885 inherit
		chip northbridge/amd/amdk8
			device pci 18.0 on # LDT0
				chip southbridge/amd/amd8151
					# the on/off keyword is mandatory
					device pci 0.0 on end
					device pci 1.0 on end
				end
			end
			device pci 18.0 on end # LDT1
			device pci 18.0 on #  northbridge
				#  devices on link 2, link 2 == LDT 2
				chip southbridge/amd/amd8131
					# the on/off keyword is mandatory
					device pci 0.0 on
                                                device pci 9.0 on end # broadcom 5703
					end
					device pci 0.1 on end
					device pci 1.0 on end
					device pci 1.1 on end
				end
				chip southbridge/amd/amd8111
					# this "device pci 0.0" is the parent the next one
					# PCI bridge
					device pci 0.0 on
						device pci 0.0 on end
						device pci 0.1 on end
						device pci 0.2 off end
						device pci 1.0 off end
                                                device pci b.0 on end # SiI 3114
					end
					device pci 1.0 on
						chip superio/winbond/w83627hf
							device pnp 2e.0 on #  Floppy
                	                 			io 0x60 = 0x3f0
                	                			irq 0x70 = 6
                	                			drq 0x74 = 2
							end
                	        			device pnp 2e.1 off #  Parallel Port
                	                 			io 0x60 = 0x378
                	                			irq 0x70 = 7
							end
                	        			device pnp 2e.2 on #  Com1
                	                 			io 0x60 = 0x3f8
                	                			irq 0x70 = 4
							end
                	        			device pnp 2e.3 on #  Com2
                	                 			io 0x60 = 0x2f8
                	                			irq 0x70 = 3
							end
                	        			device pnp 2e.5 on #  Keyboard
                	                 			io 0x60 = 0x60
                	                 			io 0x62 = 0x64
                	                			irq 0x70 = 1
								irq 0x72 = 12
							end
                	        			device pnp 2e.6 off #  CIR
								io 0x60 = 0x100
							end
                	        			device pnp 2e.7 off #  GAME_MIDI_GIPO1
								io 0x60 = 0x220
								io 0x62 = 0x300
								irq 0x70 = 9
							end
                	        			device pnp 2e.8 off end #  GPIO2
                	        			device pnp 2e.9 off end #  GPIO3
                	        			device pnp 2e.a off end #  ACPI
                	        			device pnp 2e.b on #  HW Monitor
 					 			io 0x60 = 0x290
								irq 0x70 = 5
                					end
						end
					end
					device pci 1.1 on end
					device pci 1.2 on end
					device pci 1.3 on
                                                chip drivers/generic/generic #dimm 0-0-0
                                                        device i2c 50 on end
                                                end
                                                chip drivers/generic/generic #dimm 0-0-1
                                                        device i2c 51 on end
                                                end
                                                chip drivers/generic/generic #dimm 0-1-0
                                                        device i2c 52 on end
                                                end
                                                chip drivers/generic/generic #dimm 0-1-1
                                                        device i2c 53 on end
                                                end
                                                chip drivers/generic/generic #dimm 1-0-0
                                                        device i2c 54 on end
                                                end
                                                chip drivers/generic/generic #dimm 1-0-1
                                                        device i2c 55 on end
                                                end
                                                chip drivers/generic/generic #dimm 1-1-0
                                                        device i2c 56 on end
                                                end
                                                chip drivers/generic/generic #dimm 1-1-1
                                                        device i2c 57 on end
                                                end
					end # acpi
					device pci 1.5 on end
					device pci 1.6 off end
                	                register "ide0_enable" = "1"
                	                register "ide1_enable" = "1"
				end
			end #  device pci 18.0

			device pci 18.1 on end
			device pci 18.2 on end
			device pci 18.3 on end
		end

	end #domain

#        chip drivers/generic/debug
#                device pnp 0.0 off end
#                device pnp 0.1 off end
#                device pnp 0.2 off end
#                device pnp 0.3 off end
#		device pnp 0.4 off end
#		device pnp 0.5 on end
#        end
end

