#!/bin/bash

#Check Processor
PROCCESSOR=$(uname -p)
if [ $? -ne 0 ]; then
	echo "Processor Error"
	exit 1
fi
# Check for x86 
if [ "$PROCCESSOR" == "x86_64" ]; then
	COMMAND=$(/usr/bin/systemd-detect-virt)
	if [ $? -ne 0 ]; then
		echo "Hypervisor Error"
		exit 1
	else
		echo "$COMMAND"
		exit 0
	fi
# Check for POWER
elif [ "$PROCCESSOR" == "ppc64le" ]; then
	# Device tree path
	DEVTREE=/proc/device-tree
	# Check file
	CHECKFILE=$(cat $DEVTREE/compatible)
	# Check for POWER Non Virtualized
	if [[ "$CHECKFILE" == *"ibm,powernv"* ]]; then
		echo "POWERNV"
		exit 1
	# Check for POWERKVM
	elif [[ "$CHECKFILE" == "qemu,pseries" ]]; then
		echo "POWERKVM"
		exit 0
	else
		# Check for POWERVM
		if [ -a $DEVTREE/ibm,fw-net-version ]; then
			echo "POWERVM"
			exit 0
		else
			echo "Unknown Power Hypervisor"
			exit 1
		fi
	fi
else
	echo "Unknown Architecture"
	exit 1
fi


