Modify BYD's USB Vendor ID

Change-Id: I391487a12ba7ed86aac81457f8026acd3fd7576c
ueventd: fix a busy loop while reading uevents

Under certain conditions, poll() may raise the POLLERR
flag along with POLLIN, in which case the check for
(ufd.revents == POLLIN) results in an endless busy loop.

The following fix was applied to
hardware/libhardware_legacy/uevent/uevent.c
to fix a similar bug:

  commit 3aabb260ceef10377c31c9e45fb239247f5cfeba
  Author: Mathias Agopian <mathias@google.com>
  Date:   Mon Oct 1 14:53:18 2012 -0700

    fix a typo in uevent_next_eventi

    Bug: 7114973
    Change-Id: I15a4c714b59aeb1d02db00517d70b5f0e5ab22c2

Applying the same fix for two more poll loops in init
and ueventd.

Change-Id: I50693f6d3c904992ac4b8a9a14a83c7106e6b9e0
Fix tracing on user builds

Need the set correct permission for print-tgid option or tracing of
sched can't work on user build.

Change-Id: Ia88aabe58128b911afd78f01c27f7da884ed03f0
Signed-off-by: Carton He <carton.he@marvell.com>
AArch64: Correction of struct surface_t

The struct in the union with GGLSurface in struct surface_t assumed
that the reserved field, which corresponds to the GGLsizei version
field in the GGLSurface structure (where GGLsizei is define as being
ssize_t in the system/core/include/pixelflinger/pixelflinger.h header
file) is uint32_t. That is appropriate to the 32-bit system but is
not appropriate to the 64-bit system, where ssize_t is 64-bits rather
than 32-bits.

The 32-bit system has also been tested and has no regression
because of this change.

Change-Id: I5cd84fd4a18fa0e63e27975f7b3d3e95b99cea58
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Dwarf backtrace for MIPS

The Dwarf parsing code was copied from backtrace-x86.c
and modified for MIPS

Change-Id: I62c698fbbea28be39320a921dd778269dc478528
Pixelflinger: Support for handling 64-bit addresses in GGL Assembler

GGLAssembler assumes addresses to be 32-bit and uses ARM 32-bit
instructions to load/store/manipulate addresses. To support, 64-bit
architectures, following changes has been done

1. ARMAssemblerInterface has been extended to support four new
   operations ADDR_LDR, ADDR_STR, ADDR_SUB, ADDR_ADD. Base class
   implements these virtual functions to use 32bit  equivalent
   function. This avoids existing 32-bit Assembler backend
   implementations like ARMAssembler and MIPSAssembler  from
   mapping the new functions to existing equivalent routines.
   This also allows 64-bit Architectures like AArch64 to override
   the function in their assembler backend implementations.

2. GGLAssembler code (spread over GGLAssembler.cpp, GGLAssembler.h
   and texturing.cpp) has been changed to use the new operations
   for address operations.

Change-Id: I3d7eace4691e3e47cef737d97ac67ce6ef4fb18d
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Pixelflinger: Add AArch64 support to pixelflinger JIT.

See the comment-block at the top of Aarch64Assembler.cpp
for overview on how AArch64 support has been implemented

In addition, this commit contains
[x] AArch64 inline asm versions of gglmul series of
    functions and a new unit test bench to test the
    functions

[x] Assembly implementations of scanline_col32cb16blend
    and scanline_t32cb16blend for AArch64, with unit
    test bench

Change-Id: I915cded9e1d39d9a2a70bf8a0394b8a0064d1eb4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Relabel /data/misc/zoneinfo

The files in zoneinfo changed from system_data_file to
zoneinfo_data_file. Fixup pre-existing files.

Change-Id: Idddbd6c2ecf66cd16b057a9ff288cd586a109949
adb: Check sender's socket id when receiving packets.

handle_packet() in adb.c didn't check that when an A_WRTE packet is
received, the sender's local-id matches the socket's peer id.

This meant that a compromised adbd server could sent packets to
the host adb server, spoofing the identity of another connected
device if it could "guess" the right host socket id.

This patch gets rid of the issue by enforcing even more checks
to ensure that all packets comply with the description in
protocol.txt.

+ Fix a bug where closing a local socket associated with a
  remote one would always send an A_CLSE(0, remote-id, "")
  message, though protocol.txt says that should only happen
  for failed opens.

  The issue was that local_socket_close() called
  remote_socket_close() after clearing the remote socket's
  'peer' field.

  The fix introduces a new asocket optional callback,
  named 'shutdown' that is called before that, and is
  used to send the A_CLSE() message with the right ID
  in remote_socket_shutdown().

  Also add some code in handle_packet() to detect
  invalid close commands.

Change-Id: I9098bc8c6e81f8809334b060e5dca4fc92e6fbc9
Merge "Relabel /data/misc/zoneinfo"
Merge "Pixelflinger: Support for handling 64-bit addresses in GGL Assembler"
Merge "Pixelflinger: Add AArch64 support to pixelflinger JIT."
Merge "AArch64: Correction of struct surface_t"
libdiskconfig: Use uintptr_t instead of uint32_t

Use uintptr_t instead of uint32_t when pointer is cast
to an integer type.

Change-Id: I03dd4c7ff66611661af466dfb7b393d461bb2d7d
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Merge "libdiskconfig: Use uintptr_t instead of uint32_t"
rootdir: add permissions for /dev/rtc0

Change-Id: If9d853bdae2399b1e7434f45df375ba1fd6dbe9c
Signed-off-by: Greg Hackmann <ghackmann@google.com>
SystemClock: use clock_gettime() on devices without /dev/alarm

On devices with an up-to-date kernel, the back-in-time bug affecting
clock_gettime() has been fixed and it can safely be used as an
alternative to the ANDROID_ALARM_GET_TIME ioctl.  To ensure consistent
behavior on existing devices, make clock_gettime() a fallback for when
the alarm driver isn't available.

Change-Id: I384af5e7ec9e73e0bad4b6b0f987a8ea4583cba6
Signed-off-by: Greg Hackmann <ghackmann@google.com>
toolbox: uptime: fix unused parameter warnings

Change-Id: Id240ce85bf09e1a81f4e2e2a7496ac7952edbf38
Signed-off-by: Greg Hackmann <ghackmann@google.com>
toolbox: uptime: use clock_gettime() on devices without /dev/alarm

Change-Id: Id7287ca179cc0b8390c054803a25a961dd550a34
Signed-off-by: Greg Hackmann <ghackmann@google.com>
toolbox: date: fix parameter type warnings

Change-Id: I810a9abee8bc0061c5007fe08197384f2b85754b
Signed-off-by: Greg Hackmann <ghackmann@google.com>