From 5807d1d2b9bc1355acd7bec3dc7afe8227751f5b Mon Sep 17 00:00:00 2001
From: Douglas Leung <douglas.leung@imgtec.com>
Date: Thu, 28 Jul 2016 15:49:31 -0700
Subject: [PATCH] Fix ioctl defines for Mips.

This patch allows mips to boot in enforcing mode.

Change-Id: Ia4676db06adc3ccb20d5f231406cf4ab67317496
---
 Android.mk    |  7 +++++++
 ioctl_defines | 12 ++++++------
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/Android.mk b/Android.mk
index 5b430e1db..6a4b8a427 100644
--- a/Android.mk
+++ b/Android.mk
@@ -83,6 +83,12 @@ LOCAL_MODULE := sepolicy
 LOCAL_MODULE_CLASS := ETC
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_TARGET_ARCH := $(TARGET_ARCH)
+
+# Set LOCAL_TARGET_ARCH to mips for mips and mips64.
+ifneq (,$(filter mips mips64,$(TARGET_ARCH)))
+  LOCAL_TARGET_ARCH := mips
+endif
 
 include $(BUILD_SYSTEM)/base_rules.mk
 
@@ -95,6 +101,7 @@ $(sepolicy_policy.conf): $(call build_policy, $(sepolicy_build_files))
 	$(hide) m4 $(PRIVATE_ADDITIONAL_M4DEFS) \
 		-D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
 		-D target_build_variant=$(TARGET_BUILD_VARIANT) \
+		-D target_arch=$(LOCAL_TARGET_ARCH) \
 		-s $^ > $@
 	$(hide) sed '/dontaudit/d' $@ > $@.dontaudit
 
diff --git a/ioctl_defines b/ioctl_defines
index 5b65b2d21..b1752bf30 100644
--- a/ioctl_defines
+++ b/ioctl_defines
@@ -389,7 +389,7 @@ define(`DVD_AUTH', `0x00005392')
 define(`CDROM_SEND_PACKET', `0x00005393')
 define(`CDROM_NEXT_WRITABLE', `0x00005394')
 define(`CDROM_LAST_WRITTEN', `0x00005395')
-define(`TCGETS', `0x00005401')
+define(`TCGETS', ifelse(target_arch, mips, 0x0000540d, 0x00005401))
 define(`SNDCTL_TMR_START', `0x00005402')
 define(`TCSETS', `0x00005402')
 define(`SNDCTL_TMR_STOP', `0x00005403')
@@ -408,17 +408,17 @@ define(`TIOCNXCL', `0x0000540d')
 define(`TIOCSCTTY', `0x0000540e')
 define(`TIOCGPGRP', `0x0000540f')
 define(`TIOCSPGRP', `0x00005410')
-define(`TIOCOUTQ', `0x00005411')
+define(`TIOCOUTQ', ifelse(target_arch, mips, 0x00007472, 0x00005411))
 define(`TIOCSTI', `0x00005412')
-define(`TIOCGWINSZ', `0x00005413')
-define(`TIOCSWINSZ', `0x00005414')
+define(`TIOCGWINSZ', ifelse(target_arch, mips, 0x80087468, 0x00005413))
+define(`TIOCSWINSZ', ifelse(target_arch, mips, 0x40087467, 0x00005414))
 define(`TIOCMGET', `0x00005415')
 define(`TIOCMBIS', `0x00005416')
 define(`TIOCMBIC', `0x00005417')
 define(`TIOCMSET', `0x00005418')
 define(`TIOCGSOFTCAR', `0x00005419')
 define(`TIOCSSOFTCAR', `0x0000541a')
-define(`FIONREAD', `0x0000541b')
+define(`FIONREAD', ifelse(target_arch, mips, 0x0000467f, 0x0000541b))
 define(`TIOCLINUX', `0x0000541c')
 define(`TIOCCONS', `0x0000541d')
 define(`TIOCGSERIAL', `0x0000541e')
@@ -440,7 +440,7 @@ define(`TCSETXF', `0x00005434')
 define(`TCSETXW', `0x00005435')
 define(`TIOCVHANGUP', `0x00005437')
 define(`FIONCLEX', `0x00005450')
-define(`FIOCLEX', `0x00005451')
+define(`FIOCLEX', ifelse(target_arch, mips, 0x00006601, 0x00005451))
 define(`FIOASYNC', `0x00005452')
 define(`TIOCSERCONFIG', `0x00005453')
 define(`TIOCSERGWILD', `0x00005454')
-- 
GitLab