2 * (c) 2010-2014 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
3 * Alexander Warg <alexander.warg@kernkonzept.com>
4 * Steffen Liebergeld <steffen.liebergeld@kernkonzept.com>
6 * This file is part of TUD:OS and distributed under the terms of the
7 * GNU General Public License 2.
8 * Please see the COPYING-GPL-2 file for details.
16 using namespace Hw::Pci;
18 struct Pci_intel_gma500_drv : Driver
22 d_printf(DBG_DEBUG, "Found Intel gma500 device\n");
26 // GC - Graphics Control
27 d->cfg_read(0x52, &v, Cfg_short);
29 unsigned gfx_mem_sz = 0;
37 case 1: gfx_mem_sz = 1 << 20; break;
38 case 2: gfx_mem_sz = 4 << 20; break;
39 case 3: gfx_mem_sz = 8 << 20; break;
43 // BSM - Base of Stolen Memory
44 d->cfg_read(0x5c, &v, Cfg_long);
47 unsigned flags = Resource::Mmio_res
48 | Resource::F_prefetchable;
49 l4_addr_t end = v + gfx_mem_sz - 1;
51 Resource *res = new Resource(flags, v, end);
52 d->host()->add_resource(res);
54 for (p = d->host()->parent(); p && p->parent(); p = p->parent())
58 p->request_child_resource(res, d->host());
63 static Pci_intel_gma500_drv _pci_intel_gma500_drv;
69 _pci_intel_gma500_drv.register_driver(0x8086, 0x8108);