Print this page
6145 instead using SEGOP_* macros, define full-fledged segop_* functions

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/vm_seg.c
          +++ new/usr/src/uts/common/vm/vm_seg.c
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   * Copyright (c) 2015, Joyent, Inc.
       25 + * Copyright 2015, Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
  25   26   */
  26   27  
  27   28  /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
  28   29  /*        All Rights Reserved   */
  29   30  
  30   31  /*
  31   32   * University Copyright- Copyright (c) 1982, 1986, 1988
  32   33   * The Regents of the University of California
  33   34   * All Rights Reserved
  34   35   *
↓ open down ↓ 1819 lines elided ↑ open up ↑
1854 1855  }
1855 1856  
1856 1857  /*
1857 1858   * General not supported function for SEGOP_INHERIT
1858 1859   */
1859 1860  /* ARGSUSED */
1860 1861  int
1861 1862  seg_inherit_notsup(struct seg *seg, caddr_t addr, size_t len, uint_t op)
1862 1863  {
1863 1864          return (ENOTSUP);
     1865 +}
     1866 +
     1867 +/*
     1868 + * segop wrappers
     1869 + */
     1870 +int
     1871 +segop_dup(struct seg *seg, struct seg *new)
     1872 +{
     1873 +        return (seg->s_ops->dup(seg, new));
     1874 +}
     1875 +
     1876 +int
     1877 +segop_unmap(struct seg *seg, caddr_t addr, size_t len)
     1878 +{
     1879 +        return (seg->s_ops->unmap(seg, addr, len));
     1880 +}
     1881 +
     1882 +void
     1883 +segop_free(struct seg *seg)
     1884 +{
     1885 +        seg->s_ops->free(seg);
     1886 +}
     1887 +
     1888 +faultcode_t
     1889 +segop_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
     1890 +    enum fault_type type, enum seg_rw rw)
     1891 +{
     1892 +        return (seg->s_ops->fault(hat, seg, addr, len, type, rw));
     1893 +}
     1894 +
     1895 +faultcode_t
     1896 +segop_faulta(struct seg *seg, caddr_t addr)
     1897 +{
     1898 +        return (seg->s_ops->faulta(seg, addr));
     1899 +}
     1900 +
     1901 +int
     1902 +segop_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
     1903 +{
     1904 +        return (seg->s_ops->setprot(seg, addr, len, prot));
     1905 +}
     1906 +
     1907 +int
     1908 +segop_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
     1909 +{
     1910 +        return (seg->s_ops->checkprot(seg, addr, len, prot));
     1911 +}
     1912 +
     1913 +int
     1914 +segop_kluster(struct seg *seg, caddr_t addr, ssize_t d)
     1915 +{
     1916 +        return (seg->s_ops->kluster(seg, addr, d));
     1917 +}
     1918 +
     1919 +size_t
     1920 +segop_swapout(struct seg *seg)
     1921 +{
     1922 +        return (seg->s_ops->swapout(seg));
     1923 +}
     1924 +
     1925 +int
     1926 +segop_sync(struct seg *seg, caddr_t addr, size_t len, int atr, uint_t f)
     1927 +{
     1928 +        return (seg->s_ops->sync(seg, addr, len, atr, f));
     1929 +}
     1930 +
     1931 +size_t
     1932 +segop_incore(struct seg *seg, caddr_t addr, size_t len, char *v)
     1933 +{
     1934 +        return (seg->s_ops->incore(seg, addr, len, v));
     1935 +}
     1936 +
     1937 +int
     1938 +segop_lockop(struct seg *seg, caddr_t addr, size_t len, int atr, int op,
     1939 +    ulong_t *b, size_t p)
     1940 +{
     1941 +        return (seg->s_ops->lockop(seg, addr, len, atr, op, b, p));
     1942 +}
     1943 +
     1944 +int
     1945 +segop_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *p)
     1946 +{
     1947 +        return (seg->s_ops->getprot(seg, addr, len, p));
     1948 +}
     1949 +
     1950 +u_offset_t
     1951 +segop_getoffset(struct seg *seg, caddr_t addr)
     1952 +{
     1953 +        return (seg->s_ops->getoffset(seg, addr));
     1954 +}
     1955 +
     1956 +int
     1957 +segop_gettype(struct seg *seg, caddr_t addr)
     1958 +{
     1959 +        return (seg->s_ops->gettype(seg, addr));
     1960 +}
     1961 +
     1962 +int
     1963 +segop_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
     1964 +{
     1965 +        return (seg->s_ops->getvp(seg, addr, vpp));
     1966 +}
     1967 +
     1968 +int
     1969 +segop_advise(struct seg *seg, caddr_t addr, size_t len, uint_t b)
     1970 +{
     1971 +        return (seg->s_ops->advise(seg, addr, len, b));
     1972 +}
     1973 +
     1974 +void
     1975 +segop_dump(struct seg *seg)
     1976 +{
     1977 +        seg->s_ops->dump(seg);
     1978 +}
     1979 +
     1980 +int
     1981 +segop_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***page,
     1982 +    enum lock_type type, enum seg_rw rw)
     1983 +{
     1984 +        return (seg->s_ops->pagelock(seg, addr, len, page, type, rw));
     1985 +}
     1986 +
     1987 +int
     1988 +segop_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
     1989 +{
     1990 +        return (seg->s_ops->setpagesize(seg, addr, len, szc));
     1991 +}
     1992 +
     1993 +int
     1994 +segop_getmemid(struct seg *seg, caddr_t addr, memid_t *mp)
     1995 +{
     1996 +        return (seg->s_ops->getmemid(seg, addr, mp));
     1997 +}
     1998 +
     1999 +struct lgrp_mem_policy_info *
     2000 +segop_getpolicy(struct seg *seg, caddr_t addr)
     2001 +{
     2002 +        if (seg->s_ops->getpolicy == NULL)
     2003 +                return (NULL);
     2004 +
     2005 +        return (seg->s_ops->getpolicy(seg, addr));
     2006 +}
     2007 +
     2008 +int
     2009 +segop_capable(struct seg *seg, segcapability_t cap)
     2010 +{
     2011 +        return (seg->s_ops->capable(seg, cap));
     2012 +}
     2013 +
     2014 +int
     2015 +segop_inherit(struct seg *seg, caddr_t addr, size_t len, uint_t op)
     2016 +{
     2017 +        if (seg->s_ops->inherit == NULL)
     2018 +                return (ENOTSUP);
     2019 +
     2020 +        return (seg->s_ops->inherit(seg, addr, len, op));
1864 2021  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX