svn commit: r322228 - in head/emulators/virtualbox-ose: . files

Bernhard Froehlich decke at FreeBSD.org
Wed Jul 3 12:56:49 UTC 2013


Author: decke
Date: Wed Jul  3 12:56:48 2013
New Revision: 322228
URL: http://svnweb.freebsd.org/changeset/ports/322228

Log:
  - Changing RAM for a VM was broken in the GUI because there was no
  implementation for FreeBSD that could calculate available RAM.
  
  PR:		ports/180086
  Submitted by:	Martin Birgmeier <Martin.Birgmeier at aon.at>

Added:
  head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp   (contents, props changed)
Modified:
  head/emulators/virtualbox-ose/Makefile

Modified: head/emulators/virtualbox-ose/Makefile
==============================================================================
--- head/emulators/virtualbox-ose/Makefile	Wed Jul  3 12:44:17 2013	(r322227)
+++ head/emulators/virtualbox-ose/Makefile	Wed Jul  3 12:56:48 2013	(r322228)
@@ -3,6 +3,7 @@
 
 PORTNAME=	virtualbox-ose
 DISTVERSION=	4.2.14
+PORTREVISION=	1
 CATEGORIES=	emulators
 MASTER_SITES=	http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
 		http://tmp.chruetertee.ch/ \

Added: head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk	Wed Jul  3 12:56:48 2013	(r322228)
@@ -0,0 +1,11 @@
+--- src/VBox/Runtime/Makefile.kmk.orig	2013-06-21 16:27:18.000000000 +0400
++++ src/VBox/Runtime/Makefile.kmk	2013-06-30 14:57:33.248215681 +0400
+@@ -844,7 +844,7 @@
+ 	r3/posix/RTMemProtect-posix.cpp \
+ 	r3/posix/RTPathUserHome-posix.cpp \
+ 	r3/posix/RTSystemQueryOSInfo-posix.cpp \
+-	r3/posix/RTSystemQueryTotalRam-posix.cpp \
++	r3/freebsd/RTSystemQueryTotalRam-freebsd.cpp \
+ 	r3/posix/RTTimeNow-posix.cpp \
+ 	r3/posix/RTTimeSet-posix.cpp \
+ 	r3/posix/dir-posix.cpp \

Added: head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp	Wed Jul  3 12:56:48 2013	(r322228)
@@ -0,0 +1,83 @@
+--- ./src/VBox/Runtime/r3/freebsd/RTSystemQueryTotalRam-freebsd.cpp.ORIG	2013-06-30 09:27:59.000000000 +0200
++++ ./src/VBox/Runtime/r3/freebsd/RTSystemQueryTotalRam-freebsd.cpp	2013-06-30 09:51:29.000000000 +0200
+@@ -0,0 +1,80 @@
++/* $Id: RTSystemQueryTotalRam-freebsd.cpp $ */
++/** @file
++ * IPRT - RTSystemQueryTotalRam, FreeBSD style
++ */
++
++/*
++ * Copyright (C) 2013 Martin Birgmeier, Oracle Corporation
++ *
++ * This file is part of VirtualBox Open Source Edition (OSE), as
++ * available from http://www.virtualbox.org. This file is free software;
++ * you can redistribute it and/or modify it under the terms of the GNU
++ * General Public License (GPL) as published by the Free Software
++ * Foundation, in version 2 as it comes in the "COPYING" file of the
++ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
++ *
++ * The contents of this file may alternatively be used under the terms
++ * of the Common Development and Distribution License Version 1.0
++ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
++ * VirtualBox OSE distribution, in which case the provisions of the
++ * CDDL are applicable instead of those of the GPL.
++ *
++ * You may elect to license modified versions of this file under the
++ * terms and conditions of either the GPL or the CDDL or both.
++ */
++
++
++/*******************************************************************************
++*   Header Files                                                               *
++*******************************************************************************/
++#include <iprt/system.h>
++#include "internal/iprt.h"
++
++#include <iprt/err.h>
++#include <iprt/assert.h>
++#include <iprt/string.h>
++
++/* FreeBSD */
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#include <sys/errno.h>
++
++RTDECL(int) RTSystemQueryTotalRam(uint64_t *pcb)
++{
++    int mib[2];
++    size_t pcblen = sizeof(*pcb);
++
++    AssertPtrReturn(pcb, VERR_INVALID_POINTER);
++
++    mib[0] = CTL_HW;
++    mib[1] = HW_PHYSMEM;	/* HW_REALMEM is also possible, but
++				   includes non-main memory as well */
++    *pcb = 0;
++    if (sysctl(mib, 2, pcb, &pcblen, NULL, 0) == 0) {
++	if (pcblen == sizeof(*pcb))
++	    return VINF_SUCCESS;
++	else
++	    return VERR_NO_MEMORY;	/* XXX */
++    }
++    return RTErrConvertFromErrno(errno);
++}
++
++RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb)
++{
++    int mib[2];
++    size_t pcblen = sizeof(*pcb);
++
++    AssertPtrReturn(pcb, VERR_INVALID_POINTER);
++
++    mib[0] = CTL_HW;
++    mib[1] = HW_USERMEM;
++    *pcb = 0;
++    if (sysctl(mib, 2, pcb, &pcblen, NULL, 0) == 0) {
++	if (pcblen == sizeof(*pcb))
++	    return VINF_SUCCESS;
++	else
++	    return VERR_NO_MEMORY;	/* XXX */
++    }
++    return RTErrConvertFromErrno(errno);
++}


More information about the svn-ports-all mailing list