Alexander Pyhalov
2016-08-20 69ab9fab118b284e85ddad6bce9587b40680b10e
drm: further modifications to make it build and publish
2 files added
10 files modified
277 ■■■■ changed files
components/openindiana/drm/drm.p5m 130 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/Makefile 9 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/Makefile.inc 7 ●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/Makefile.rules 16 ●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/drm/Makefile 9 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/drm/src/Makefile 16 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/i915/Makefile 8 ●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/i915/src/Makefile 14 ●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/mdb/Makefile 6 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/mdb/modules/Makefile 24 ●●●● patch | view | raw | blame | history
components/openindiana/drm/drm/mdb/modules/i915.c 9 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/manifests/sample-manifest.p5m 29 ●●●●● patch | view | raw | blame | history
components/openindiana/drm/drm.p5m
New file
@@ -0,0 +1,130 @@
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2016 Alexander Pyhalov
#
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=kernel/drv/$(MACH64)/i915 group=sys pkg.depend.bypass-generate=.*
file path=kernel/kmdb/$(MACH64)/i915 group=sys pkg.depend.bypass-generate=.*
file path=kernel/misc/$(MACH64)/drm group=sys pkg.depend.bypass-generate=.*
file path=usr/lib/mdb/kvm/$(MACH64)/i915.so group=sys
file path=usr/share/man/man4d/i915.4d
driver name=i915 perms="* 0644 root sys" \
    alias=pci8086,42 \
    alias=pci8086,46 \
    alias=pci8086,102 \
    alias=pci8086,106 \
    alias=pci8086,10a \
    alias=pci8086,112 \
    alias=pci8086,116 \
    alias=pci8086,122 \
    alias=pci8086,126 \
    alias=pci8086,152 \
    alias=pci8086,156 \
    alias=pci8086,15a \
    alias=pci8086,162 \
    alias=pci8086,166 \
    alias=pci8086,16a \
    alias=pci8086,402 \
    alias=pci8086,406 \
    alias=pci8086,40a \
    alias=pci8086,40b \
    alias=pci8086,40e \
    alias=pci8086,412 \
    alias=pci8086,416 \
    alias=pci8086,41a \
    alias=pci8086,41b \
    alias=pci8086,41e \
    alias=pci8086,422 \
    alias=pci8086,426 \
    alias=pci8086,42a \
    alias=pci8086,42b \
    alias=pci8086,42e \
    alias=pci8086,a02 \
    alias=pci8086,a06 \
    alias=pci8086,a0a \
    alias=pci8086,a0b \
    alias=pci8086,a0e \
    alias=pci8086,a12 \
    alias=pci8086,a16 \
    alias=pci8086,a1a \
    alias=pci8086,a1b \
    alias=pci8086,a1e \
    alias=pci8086,a22 \
    alias=pci8086,a26 \
    alias=pci8086,a2a \
    alias=pci8086,a2b \
    alias=pci8086,a2e \
    alias=pci8086,c02 \
    alias=pci8086,c06 \
    alias=pci8086,c0a \
    alias=pci8086,c0b \
    alias=pci8086,c0e \
    alias=pci8086,c12 \
    alias=pci8086,c16 \
    alias=pci8086,c1a \
    alias=pci8086,c1b \
    alias=pci8086,c1e \
    alias=pci8086,c22 \
    alias=pci8086,c26 \
    alias=pci8086,c2a \
    alias=pci8086,c2b \
    alias=pci8086,c2e \
    alias=pci8086,d02 \
    alias=pci8086,d06 \
    alias=pci8086,d0a \
    alias=pci8086,d0b \
    alias=pci8086,d0e \
    alias=pci8086,d12 \
    alias=pci8086,d16 \
    alias=pci8086,d1a \
    alias=pci8086,d1b \
    alias=pci8086,d1e \
    alias=pci8086,d22 \
    alias=pci8086,d26 \
    alias=pci8086,d2a \
    alias=pci8086,d2b \
    alias=pci8086,d2e \
    alias=pci8086,2562 \
    alias=pci8086,2572 \
    alias=pci8086,2582 \
    alias=pci8086,2592 \
    alias=pci8086,2772 \
    alias=pci8086,27a2 \
    alias=pci8086,27ae \
    alias=pci8086,2972 \
    alias=pci8086,2982 \
    alias=pci8086,2992 \
    alias=pci8086,29a2 \
    alias=pci8086,29b2 \
    alias=pci8086,29c2 \
    alias=pci8086,29d2 \
    alias=pci8086,2a02 \
    alias=pci8086,2a12 \
    alias=pci8086,2a42 \
    alias=pci8086,2e02.8086.2e02 \
    alias=pci8086,2e12 \
    alias=pci8086,2e22 \
    alias=pci8086,2e32 \
    alias=pci8086,2e42 \
    alias=pci8086,3582 \
    alias=pci8086,a001 \
    alias=pci8086,a011
components/openindiana/drm/drm/Makefile
@@ -30,18 +30,15 @@
TOP=$(shell pwd)
# Variables to always pass down to subdirs
PASSDOWN_VARS = V="$(V)" TOP="$(TOP)" CDEBUGFLAGS="$(CDEBUGFLAGS)"
PASSDOWN_VARS = V="$(V)" TOP="$(TOP)" CDEBUGFLAGS="$(CDEBUGFLAGS)"  CFLAGS="$(CFLAGS)"
.DEFAULT: World
SUBDIRS= drm i915 mdb
World: clean all install lint
World: clean all install
subdirs: $(SUBDIRS)
$(SUBDIRS):
    $(MAKE) $(PASSDOWN_VARS) -C $@ $(TARGET)
# Dependencies between modules
i915: drm
@@ -50,5 +47,5 @@
clean all install lint:
    for dir in $(SUBDIRS); do \
        $(MAKE) -C $$dir $(PASSDOWN_VARS) $(@); \
        $(ENV) $(MODTYPE_BUILD_ENV) $(MAKE) -C $$dir $(PASSDOWN_VARS) $(@); \
    done
components/openindiana/drm/drm/Makefile.inc
@@ -86,9 +86,9 @@
CONFIG_ENV    += CFLAGS="$(MODTYPE_CFLAGS) $(MODULE_CFLAGS)"
CONFIG_ENV    += CXXFLAGS="$(MODTYPE_CXXFLAGS) $(MODULE_CXXFLAGS)"
CONFIG_ENV    += CPPFLAGS="$(DEFAULT_CONFIG_CPPFLAGS) $(MODTYPE_CPPFLAGS) $(MODULE_CPPFLAGS)"
CONFIG_ENV    += LDFLAGS="$(MODULE_LDFLAGS) $(MODTYPE_LDFLAGS)"
CONFIG_ENV    += LDFLAGS="$(MODULE_LDFLAGS) $(MODTYPE_LDFLAGS) $(EXTRA_LDFLAGS)"
CONFIG_ENV    += PKG_CONFIG_PATH="$(DEFAULT_PKG_CONFIG_PATH)"
CONFIG_ENV    += INSTALL="$(INSTALL_SCRIPT)" CPPROG="cp -p"
CONFIG_ENV    += INSTALL="$(INSTALL)" CPPROG="cp -p"
CONFIG_ENV    += MAKE="$(MODULE_MAKE)" CONFIG_SHELL="$(CONFIG_SHELL)"
CONFIG_ENV    += NM="/usr/gnu/bin/nm"
CONFIG_ENV    += POUND_SIGN="$(POUND_SIGN)"
@@ -214,3 +214,6 @@
#
MODTYPE_BUILD_ENV    = CFLAGS='$(MODTYPE_CFLAGS)'
MODTYPE_BUILD_ENV    += CC='$(CC)' LD='$(LD)' LINT='$(LINT)'
ENV         = /usr/bin/env
INSTALL        = /usr/gnu/bin/install
components/openindiana/drm/drm/Makefile.rules
@@ -34,10 +34,10 @@
# defines unique to kernel modules
# Note that the following paths are what should be expected.
# CTFCONVERT = /opt/onbld/bin/$(MACH)/ctfconvert
# CTFMERGE = /opt/onbld/bin/$(MACH)/ctfmerge
CTFCONVERT    = ctfconvert
CTFMERGE    = ctfmerge
CTFCONVERT = /opt/onbld/bin/$(MACH)/ctfconvert
CTFMERGE = /opt/onbld/bin/$(MACH)/ctfmerge
#CTFCONVERT    = ctfconvert
#CTFMERGE    = ctfmerge
CTFCVTFLAGS    = -i -L VERSION
# XXXX Need a better label.
CTFMERGE_LABEL    = -l 'SunOS Development'
@@ -49,10 +49,10 @@
# XXXX Need to find a way to remove the hard-code for MACH64_i386.
#
ROOT_DRV_DIR    = /kernel/drv/$(MACH64_i386)
ROOT_MISC_DIR    = /kernel/misc/$(MACH64_i386)
ROOT_MDB_DIR    = /usr/lib/mdb/kvm/$(MACH64_i386)
ROOT_KMOD_DIR    = /kernel/kmdb/$(MACH64_i386)
ROOT_DRV_DIR    = /kernel/drv/$(MACH64)
ROOT_MISC_DIR    = /kernel/misc/$(MACH64)
ROOT_MDB_DIR    = /usr/lib/mdb/kvm/$(MACH64)
ROOT_KMOD_DIR    = /kernel/kmdb/$(MACH64)
ROOT_MAN_DIR    = /usr/share/man
MANTARGET    = $(ROOT_MAN_DIR)/$(MANSECTION)
components/openindiana/drm/drm/drm/Makefile
@@ -33,20 +33,20 @@
#
# Module core info
#
MODULE            = kms
MODULE            = drm
# MODULE_NAME - the package this module is installed in
MODULE_NAME        = $(MODULE)
# This is the package this module should be installed into
MODULE_PKGTAIL        = kms
MODULE_PKGTAIL        = drm
MODULE_PKGTAIL_SET    = yes
# Where are the local sources relative to the build dir
REL_SOURCE_DIR        = ../src
# Where do we install the driver.
MODULE_PREFIX        = kernel/misc/$(MACH64_i386)
MODULE_PREFIX        = kernel/misc/$(MACH64)
MODULE_PREFIX_SET    = yes
# No upstream sources for these files, since they're Solaris-specific
@@ -78,11 +78,12 @@
#    Include kernel rules.
#
include $(TOP)/Makefile.inc
include $(TOP)/Makefile.rules
SUBDIRS            = src
clean all install lint:
    for dir in $(SUBDIRS); do \
            $(MAKE) -C $$dir $(PASSDOWN_VARS) $(@); \
         $(MAKE) $(MODULE_BUILD_ENV) $(MODULE_MAKEFLAGS) -C $$dir $(PASSDOWN_VARS) $(@); \
    done
components/openindiana/drm/drm/drm/src/Makefile
@@ -28,6 +28,12 @@
###############################################################################
#TOP:sh    = hg root
#
#       Include kernel rules.
#
include $(TOP)/Makefile.inc
include $(TOP)/Makefile.rules
C_SRCS = ati_pcigart.c \
    drm_agpsupport.c \
@@ -69,7 +75,7 @@
# Include kernel common rules
MODULE        = kms
MODULE        = drm
OBJECTS        = $(C_SRCS:%.c=%.o)
LINTS        = $(OBJECTS:%.o=%.ln)
@@ -106,7 +112,7 @@
all:        $(MODULE)
$(OBJECTS):
%.o:    %.c
        $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
        $(CTFCONVERT) $(CTFCVTFLAGS) $@
@@ -130,6 +136,6 @@
clean.lint:    $(CLEAN_LINT_DEPS)
install:    $(INSTALL_DEPS)
        @print Installing $(MODULE) in $(PROTODIR)/$(PREFIX)
        @mkdir -p $(PROTODIR)/$(PREFIX)
        @$(INSTALL) -m 555 $(MODULE) $(PROTODIR)/$(PREFIX)
        @print Installing $(MODULE) in $(DESTDIR)/$(PREFIX)
        @mkdir -p $(DESTDIR)/$(PREFIX)
        @$(INSTALL) -m 555 $(MODULE) $(DESTDIR)/$(PREFIX)
components/openindiana/drm/drm/i915/Makefile
@@ -40,14 +40,14 @@
MODULE_NAME        = $(MODULE)
# This is the package this module should be installed into
MODULE_PKGTAIL        = kms
MODULE_PKGTAIL        = drm
MODULE_PKGTAIL_SET    = yes
# Where are the local sources relative to the build dir
REL_SOURCE_DIR        = ../src
# Where do we install the driver.
MODULE_PREFIX        = kernel/drv/$(MACH64_i386)
MODULE_PREFIX        = kernel/drv/$(MACH64)
MODULE_PREFIX_SET    = yes
# No upstream sources for these files, since they're Solaris-specific
@@ -62,7 +62,7 @@
MODULE_MAKEFLAGS    = VPATH=$(REL_SOURCE_DIR) -f $(REL_SOURCE_DIR)/Makefile
MODULE_BUILD_ENV    = $(CONFIG_ENV) PREFIX=$(MODULE_PREFIX)
MODULE_LDFLAGS        = -dy -r -Nmisc/kms
MODULE_LDFLAGS        = -dy -r -Nmisc/drm
#
# License info
@@ -85,5 +85,5 @@
clean all install lint:
    for dir in $(SUBDIRS); do \
            $(MAKE) -C $$dir $(PASSDOWN_VARS) $(@); \
            $(MAKE) $(MODULE_BUILD_ENV) $(MODULE_MAKEFLAGS) -C $$dir $(PASSDOWN_VARS) $(@); \
    done
components/openindiana/drm/drm/i915/src/Makefile
@@ -112,7 +112,7 @@
all:        $(MODULE)
$(OBJECTS):
%.o:        %.c
        $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
        $(CTFCONVERT) $(CTFCVTFLAGS) $@
@@ -136,9 +136,9 @@
clean.lint:    $(CLEAN_LINT_DEPS)
install:    $(INSTALL_DEPS)
        @print Installing $(MODULE) in $(PROTODIR)/$(PREFIX)
        @mkdir -p $(PROTODIR)/$(PREFIX)
        @$(INSTALL) -m 555 $(MODULE) $(PROTODIR)/$(PREFIX)
        @print Installing $(MANSOURCE)/$(MANPAGES) in $(PROTODIR)$(MANTARGET)
        @mkdir -p $(PROTODIR)$(ROOT_MAN_DIR)/$(MANSECTION)
        @$(INSTALL) -m 644 $(MANSOURCE)/$(MANPAGES) $(PROTODIR)$(MANTARGET)
        @print Installing $(MODULE) in $(DESTDIR)/$(PREFIX)
        @mkdir -p $(DESTDIR)/$(PREFIX)
        @$(INSTALL) -m 555 $(MODULE) $(DESTDIR)/$(PREFIX)
        @print Installing $(MANSOURCE)/$(MANPAGES) in $(DESTDIR)$(MANTARGET)
        @mkdir -p $(DESTDIR)$(ROOT_MAN_DIR)/$(MANSECTION)
        @$(INSTALL) -m 644 $(MANSOURCE)/$(MANPAGES) $(DESTDIR)$(MANTARGET)
components/openindiana/drm/drm/mdb/Makefile
@@ -26,6 +26,12 @@
#
###############################################################################
#
#       Include kernel rules.
#
include $(TOP)/Makefile.inc
include $(TOP)/Makefile.rules
SUBDIRS    = modules
clean all install lint:
components/openindiana/drm/drm/mdb/modules/Makefile
@@ -28,6 +28,10 @@
#
###############################################################################
include $(TOP)/Makefile.inc
include $(TOP)/Makefile.rules
BUILD_TYPE = 64
@@ -40,8 +44,7 @@
CFLAGS        += -D_ELF64 -DMDB_DEBUG -D_KERNEL -D_KMDB -g -m64
CPPFLAGS    += -I$(TOP) -I$(TOP)/sys/drm -I$(TOP)/sys -I/usr/include
KMOD_LDFLAGS    = -dy -r -Nmisc/kmdbmod
SO_LDFLAGS    = $(LDFLAGS) -Wl,-z,direct -Wl,-z,text -M mapfile
SO_LDFLAGS    += -Wl,-z,parent=/usr/bin$(ARCHLIBSUBDIR)/mdb
SO_LDFLAGS    = $(LDFLAGS) -Wl,-z,direct -Wl,-z,text -Wl,-Mmapfile
CPPFLAGS    += -O3 -m64 -Ui386 -U__i386 -g \
    -DTEXT_DOMAIN=\"SUNW_OST_OSCMD\" -D_ERRNO_VERIFY -DMDB_DEBUG \
    -D_KERNEL -D_ELF64
@@ -58,8 +61,7 @@
.NO_PARALLEL:
.PARALLEL: $(OBJECTS) $(LINTFILES)
$(OBJECTS): $(SOURCES)
    @print CFLAGS=$(CFLAGS)
%.o: %.c
    $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
    $(CTFCONVERT) $(CTFCVTFLAGS) $@
@@ -68,16 +70,16 @@
    $(CTFMERGE) $(CTFMERGE_LABEL) -o $@ $(OBJECTS)
$(MDBMOD): $(OBJECTS)
    $(CC) $(CFLAGS) -fPIC -DPIC $(CPPFLAGS) -G -o $@ $(SOURCES) $(LDFLAGS) \
    $(CC) $(CFLAGS) -fPIC -DPIC $(CPPFLAGS) -shared -o $@ $(SOURCES) $(LDFLAGS) \
        $(SO_LDFLAGS) $(LIBS)
install: $(MODULES)
    @print Installing $(KMOD) in $(PROTODIR)$(ROOT_KMOD_DIR)
    @print Installing $(MDBMOD) in $(PROTODIR)$(ROOT_MDB_DIR)
    @mkdir -p $(PROTODIR)$(ROOT_KMOD_DIR)
    @mkdir -p $(PROTODIR)$(ROOT_MDB_DIR)
    @$(INSTALL_SCRIPT) -m 555 $(KMOD) $(PROTODIR)$(ROOT_KMOD_DIR)
    @$(INSTALL_SCRIPT) -m 555 $(MDBMOD) $(PROTODIR)$(ROOT_MDB_DIR)
    @print Installing $(KMOD) in $(DESTDIR)$(ROOT_KMOD_DIR)
    @print Installing $(MDBMOD) in $(DESTDIR)$(ROOT_MDB_DIR)
    @mkdir -p $(DESTDIR)$(ROOT_KMOD_DIR)
    @mkdir -p $(DESTDIR)$(ROOT_MDB_DIR)
    @$(INSTALL) -m 555 $(KMOD) $(DESTDIR)$(ROOT_KMOD_DIR)
    @$(INSTALL) -m 555 $(MDBMOD) $(DESTDIR)$(ROOT_MDB_DIR)
clean:
    rm -f $(OBJECTS) $(BC_OBJS) $(MODULES)
components/openindiana/drm/drm/mdb/modules/i915.c
@@ -28,11 +28,10 @@
#include <sys/mdb_modapi.h>
#include <sys/proc.h>
#include <sys/drm/drmP.h>
#include <i915/src/i915_drv.h>
#include <i915/src/i915_drm.h>
#include <i915/src/intel_drv.h>
#include "drmP.h"
#include "i915/src/i915_drv.h"
#include "i915/src/i915_drm.h"
#include "i915/src/intel_drv.h"
/*
 * Defines
components/openindiana/drm/manifests/sample-manifest.p5m
New file
@@ -0,0 +1,29 @@
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2016 <contributor>
#
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=kernel/drv/$(MACH64)/i915
file path=kernel/kmdb/$(MACH64)/i915
file path=kernel/misc/$(MACH64)/drm
file path=usr/lib/mdb/kvm/$(MACH64)/i915.so
file path=usr/share/man/man4d/i915.4d