qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 6/6] kvm/powerpc: flat device tree files for MPC


From: Hollis Blanchard
Subject: [Qemu-devel] Re: [PATCH 6/6] kvm/powerpc: flat device tree files for MPC85xx
Date: Thu, 22 Jan 2009 09:54:19 -0600

On Thu, 2009-01-22 at 18:14 +0800, Liu Yu wrote:
> 
> diff --git a/pc-bios/mpc85xx.dts b/pc-bios/mpc85xx.dts
> new file mode 100644
> index 0000000..45a9c3d
> --- /dev/null
> +++ b/pc-bios/mpc85xx.dts
> @@ -0,0 +1,361 @@
> +/*
> + * MPC85xx DS Device Tree Source
> + *
> + * Copyright 2007-2009 Freescale Semiconductor Inc.
> + *
> + * This program is free software; you can redistribute  it and/or modify it
> + * under  the terms of  the GNU General  Public License as published by the
> + * Free Software Foundation;  either version 2 of the  License, or (at your
> + * option) any later version.
> + */
> +
> +/dts-v1/;
> +/ {
> +     model = "KVM MPC85xx";
> +     compatible = "MPC8544DS", "MPC85xxDS";
> +     #address-cells = <1>;
> +     #size-cells = <1>;
> +
> +     aliases {
> +             serial0 = &serial0;
> +             serial1 = &serial1;
> +             pci0 = &pci0;
> +             pci1 = &pci1;
> +             pci2 = &pci2;
> +             pci3 = &pci3;
> +     };
> +
> +     cpus {
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +
> +             PowerPC,address@hidden {
> +                     device_type = "cpu";
> +                     reg = <0x0>;
> +                     d-cache-line-size = <32>;       // 32 bytes
> +                     i-cache-line-size = <32>;       // 32 bytes
> +                     d-cache-size = <0x8000>;                // L1, 32K
> +                     i-cache-size = <0x8000>;                // L1, 32K
> +                     timebase-frequency = <0>;
> +                     bus-frequency = <0>;
> +                     clock-frequency = <0>;
> +                     next-level-cache = <&L2>;
> +             };
> +     };
> +
> +     memory {
> +             device_type = "memory";
> +             reg = <0x0 0x0>;        // Filled by U-Boot
> +     };
> +
> +     address@hidden {
> +             #address-cells = <1>;
> +             #size-cells = <1>;
> +             device_type = "soc";
> +             compatible = "simple-bus";
> +
> +             ranges = <0x0 0xe0000000 0x100000>;
> +             reg = <0xe0000000 0x1000>;      // CCSRBAR 1M
> +             bus-frequency = <0>;            // Filled out by uboot.
> +
> +             address@hidden {
> +                     compatible = "fsl,8544-memory-controller";
> +                     reg = <0x2000 0x1000>;
> +                     interrupt-parent = <&mpic>;
> +                     interrupts = <18 2>;
> +             };
...

You need to remove devices that are not emulated by qemu.

The device tree is firmware's way of informing the kernel what devices
are present. Since the kernel sees that the memory controller (for
example) is present, it is allowed to try to access it... and since qemu
doesn't emulate it, that's bad.

Same is true for crypto, guts, msi, and all the other devices qemu
doesn't emulate.

-- 
Hollis Blanchard
IBM Linux Technology Center





reply via email to

[Prev in Thread] Current Thread [Next in Thread]