diff mbox

[edk2,v4,12/16] ArmVirtualizationPkg: add ArmVirtualizationPlatformSysConfigLib library

Message ID 1409235244-25783-13-git-send-email-ard.biesheuvel@linaro.org
State New
Headers show

Commit Message

Ard Biesheuvel Aug. 28, 2014, 2:14 p.m. UTC
This introduces an implementation of ArmPlatformSysConfigLib for virtual
machines. This is currently a stub, but some peripheral drivers (such as
the PL031 RTC driver) rely on one to be available.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Casadevall <michael.casadevall@linaro.org>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 .../ArmVirtualizationPlatformSysConfigLib.c        | 90 ++++++++++++++++++++++
 .../ArmVirtualizationPlatformSysConfigLib.inf      | 35 +++++++++
 2 files changed, 125 insertions(+)
 create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c
 create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf

Comments

Laszlo Ersek Aug. 28, 2014, 10:07 p.m. UTC | #1
On 08/28/14 16:14, Ard Biesheuvel wrote:
> This introduces an implementation of ArmPlatformSysConfigLib for virtual
> machines. This is currently a stub, but some peripheral drivers (such as
> the PL031 RTC driver) rely on one to be available.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Michael Casadevall <michael.casadevall@linaro.org>
> Acked-by: Laszlo Ersek <lersek@redhat.com>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>  .../ArmVirtualizationPlatformSysConfigLib.c        | 90 ++++++++++++++++++++++
>  .../ArmVirtualizationPlatformSysConfigLib.inf      | 35 +++++++++
>  2 files changed, 125 insertions(+)
>  create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c
>  create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf
> 
> diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c
> new file mode 100644
> index 000000000000..725042214303
> --- /dev/null
> +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c
> @@ -0,0 +1,90 @@
> +/** @file
> +
> +  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
> +  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
> +
> +  This program and the accompanying materials
> +  are licensed and made available under the terms and conditions of the BSD License
> +  which accompanies this distribution.  The full text of the license may be found at
> +  http://opensource.org/licenses/bsd-license.php
> +
> +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> +
> +**/
> +
> +#include <Base.h>
> +#include <Library/IoLib.h>
> +#include <Library/DebugLib.h>
> +
> +#include <Library/ArmPlatformSysConfigLib.h>
> +#include <ArmPlatform.h>
> +
> +
> +RETURN_STATUS
> +ArmPlatformSysConfigInitialize (
> +  VOID
> +  )
> +{
> +  return RETURN_SUCCESS;
> +}
> +
> +/***************************************
> + * GENERAL FUNCTION: AccessSysCfgRegister
> + * Interacts with
> + *    SYS_CFGSTAT
> + *    SYS_CFGDATA
> + *    SYS_CFGCTRL
> + * for setting and for reading out values
> + ***************************************/
> +
> +RETURN_STATUS
> +AccessSysCfgRegister (
> +  IN     UINT32   ReadWrite,
> +  IN     UINT32   Function,
> +  IN     UINT32   Site,
> +  IN     UINT32   Position,
> +  IN     UINT32   Device,
> +  IN OUT UINT32*  Data
> +  )
> +{
> +  return RETURN_UNSUPPORTED;
> +}
> +
> +RETURN_STATUS
> +ArmPlatformSysConfigGet (
> +  IN  SYS_CONFIG_FUNCTION   Function,
> +  OUT UINT32*               Value
> +  )
> +{
> +  return RETURN_UNSUPPORTED;
> +}
> +
> +RETURN_STATUS
> +ArmPlatformSysConfigGetValues (
> +  IN  SYS_CONFIG_FUNCTION   Function,
> +  IN  UINTN                 Size,
> +  OUT UINT32*               Values
> +  )
> +{
> +  return RETURN_UNSUPPORTED;
> +}
> +
> +RETURN_STATUS
> +ArmPlatformSysConfigSet (
> +  IN  SYS_CONFIG_FUNCTION   Function,
> +  IN  UINT32                Value
> +  )
> +{
> +  return RETURN_UNSUPPORTED;
> +}
> +
> +RETURN_STATUS
> +ArmPlatformSysConfigSetDevice (
> +  IN  SYS_CONFIG_FUNCTION   Function,
> +  IN  UINT32                Device,
> +  IN  UINT32                Value
> +  )
> +{
> +  return RETURN_UNSUPPORTED;
> +}
> diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf
> new file mode 100644
> index 000000000000..deaccdc30a0f
> --- /dev/null
> +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf
> @@ -0,0 +1,35 @@
> +#/** @file
> +#  
> +#  Component description file for AArch64VirtualizationSysConfigLib module
> +#  
> +#  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
> +#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
> +#
> +#  This program and the accompanying materials
> +#  are licensed and made available under the terms and conditions of the BSD License
> +#  which accompanies this distribution.  The full text of the license may be found at
> +#  http://opensource.org/licenses/bsd-license.php
> +#  
> +#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> +#  
> +#**/
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010005
> +  BASE_NAME                      = ArmVirtualizationPlatformSysConfigLib
> +  FILE_GUID                      = b5988e68-a2cc-49ac-9ca8-8cc78420ae45
> +  MODULE_TYPE                    = BASE
> +  VERSION_STRING                 = 1.0
> +  LIBRARY_CLASS                  = ArmPlatformSysConfigLib
> +  
> +[Sources.common]
> +  ArmVirtualizationPlatformSysConfigLib.c
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  ArmPlatformPkg/ArmPlatformPkg.dec
> +
> +[LibraryClasses]
> +  BaseLib
> +  IoLib
> 

Search this patch for "AArch64VirtualizationSysConfigLib" :)

If you want, you can fix that up for v6; same as you already did with
BASE_NAME. My ACK stands.

Thanks,
Laszlo

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
Olivier Martin Sept. 1, 2014, 4:38 p.m. UTC | #2
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: 28 August 2014 23:08
> To: Ard Biesheuvel; Olivier Martin; edk2-devel@lists.sourceforge.net;
> peter.maydell@linaro.org; christoffer.dall@linaro.org;
> drjones@redhat.com; ilias.biris@linaro.org; leif.lindholm@linaro.org
> Cc: Michael Casadevall
> Subject: Re: [PATCH v4 12/16] ArmVirtualizationPkg: add
> ArmVirtualizationPlatformSysConfigLib library
> 
> On 08/28/14 16:14, Ard Biesheuvel wrote:
> > This introduces an implementation of ArmPlatformSysConfigLib for
> virtual
> > machines. This is currently a stub, but some peripheral drivers (such
> as
> > the PL031 RTC driver) rely on one to be available.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.0
> > Signed-off-by: Michael Casadevall <michael.casadevall@linaro.org>
> > Acked-by: Laszlo Ersek <lersek@redhat.com>
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > ---
> 
> Search this patch for "AArch64VirtualizationSysConfigLib" :)
> 
> If you want, you can fix that up for v6; same as you already did with
> BASE_NAME. My ACK stands.
> 
> Thanks,
> Laszlo

The v6 would also be a good opportunity to remove the trailing spaces from
ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConf
igLib/ArmVirtualizationPlatformSysConfigLib.inf
and remove the unused [LibraryClasses] and include headers.




------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
diff mbox

Patch

diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c
new file mode 100644
index 000000000000..725042214303
--- /dev/null
+++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.c
@@ -0,0 +1,90 @@ 
+/** @file
+
+  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
+  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#include <Base.h>
+#include <Library/IoLib.h>
+#include <Library/DebugLib.h>
+
+#include <Library/ArmPlatformSysConfigLib.h>
+#include <ArmPlatform.h>
+
+
+RETURN_STATUS
+ArmPlatformSysConfigInitialize (
+  VOID
+  )
+{
+  return RETURN_SUCCESS;
+}
+
+/***************************************
+ * GENERAL FUNCTION: AccessSysCfgRegister
+ * Interacts with
+ *    SYS_CFGSTAT
+ *    SYS_CFGDATA
+ *    SYS_CFGCTRL
+ * for setting and for reading out values
+ ***************************************/
+
+RETURN_STATUS
+AccessSysCfgRegister (
+  IN     UINT32   ReadWrite,
+  IN     UINT32   Function,
+  IN     UINT32   Site,
+  IN     UINT32   Position,
+  IN     UINT32   Device,
+  IN OUT UINT32*  Data
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+
+RETURN_STATUS
+ArmPlatformSysConfigGet (
+  IN  SYS_CONFIG_FUNCTION   Function,
+  OUT UINT32*               Value
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+
+RETURN_STATUS
+ArmPlatformSysConfigGetValues (
+  IN  SYS_CONFIG_FUNCTION   Function,
+  IN  UINTN                 Size,
+  OUT UINT32*               Values
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+
+RETURN_STATUS
+ArmPlatformSysConfigSet (
+  IN  SYS_CONFIG_FUNCTION   Function,
+  IN  UINT32                Value
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+
+RETURN_STATUS
+ArmPlatformSysConfigSetDevice (
+  IN  SYS_CONFIG_FUNCTION   Function,
+  IN  UINT32                Device,
+  IN  UINT32                Value
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf
new file mode 100644
index 000000000000..deaccdc30a0f
--- /dev/null
+++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPlatformSysConfigLib/ArmVirtualizationPlatformSysConfigLib.inf
@@ -0,0 +1,35 @@ 
+#/** @file
+#  
+#  Component description file for AArch64VirtualizationSysConfigLib module
+#  
+#  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
+#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
+#
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD License
+#  which accompanies this distribution.  The full text of the license may be found at
+#  http://opensource.org/licenses/bsd-license.php
+#  
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#  
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = ArmVirtualizationPlatformSysConfigLib
+  FILE_GUID                      = b5988e68-a2cc-49ac-9ca8-8cc78420ae45
+  MODULE_TYPE                    = BASE
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = ArmPlatformSysConfigLib
+  
+[Sources.common]
+  ArmVirtualizationPlatformSysConfigLib.c
+
+[Packages]
+  MdePkg/MdePkg.dec
+  ArmPlatformPkg/ArmPlatformPkg.dec
+
+[LibraryClasses]
+  BaseLib
+  IoLib