diff --git a/Android.mk b/Android.mk
index 5b430e1dbb82319904dad0acfacdca4661f545da..6a4b8a427b46a6f323e1eb2b8e1cf04bbca0b91a 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 5b65b2d21f617707c9ff03f090d940ff5d30e275..b1752bf303c8aff5494414e3bba7ee1cbd92ee13 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')