No description
Find a file
Martyn Capewell 4dc1fa8e8d Adds support for UBFX to JIT and Disassembler
This introduces UBFX instruction generation abilities to the Pixelflinger JIT,
and also modifies the component extraction function to generate the
instruction.

The extract function contains defines to prevent generation of UBFX on pre-v7
cores. The JIT itself retains the ability to produce the instruction even on
v5/6.

This patch only generates UBFX when MOV, AND or BIC can't be used. Based on
the TRM, this appears to be faster on A9 than using UBFX in all cases.

On startup, Pixelflinger JITs three chunks of code. UBFX improves these as
follows:

 00000077:03515104_00000000_00000000
 (Blends a single colour into an RGB565 buffer.)
  Before: 27 inst/pixel, After: 24 inst/pixel, Improvement: 12.5%
 00000077:03545404_00000A01_00000000
 (Blends RGBA8888 texture into an RGB565 buffer using alpha.)
  Before: 30 inst/pixel, After: 27 inst/pixel, Improvement: 11.1%
 00000077:03545404_00000A04_00000000
 (Blends RGB565 texture into an RGB565 buffer using alpha.)
  Before: 29 inst/pixel, After: 27 inst/pixel, Improvement: 7.4%
2010-05-28 17:04:36 +01:00
adb adb: remove obsolete shell history support. 2010-05-25 13:40:15 -04:00
cpio auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
debuggerd Print code around PC and LR in the inline log. 2009-09-28 11:09:22 -07:00
fastboot resolved simple conflict with dc9cf66c 2010-01-21 18:06:39 -08:00
include init: Add support for /dev/bus/usb/ file system and add new unix group AID_USB. 2010-05-16 16:04:51 -04:00
init init: Add support for /dev/bus/usb/ file system and add new unix group AID_USB. 2010-05-16 16:04:51 -04:00
libacc Correctly compute the type of an assignment expression. 2009-11-09 12:52:45 +08:00
libctest Automated import from //branches/donutburger/...@140818,140818 2009-03-24 18:36:55 -07:00
libcutils am c1c38dd0: system: sched_policy: Don\'t return an error when the thread we\'re trying to move exits on us 2009-12-03 12:45:43 -08:00
liblinenoise Use linenoise to add simple editing and history to the Android shell. 2010-05-25 14:49:57 +08:00
liblog Fix Heap Corruption from too long of a TAG 2010-02-18 15:33:28 -06:00
libmincrypt only use faster SHA-1 code on machines with good libc 2009-08-21 11:08:25 -07:00
libnetutils libnetutils: Add ifc_enable(), for enabling a network interface. 2009-07-10 17:29:47 -04:00
libpixelflinger Adds support for UBFX to JIT and Disassembler 2010-05-28 17:04:36 +01:00
libsysutils merge from open-source master 2009-10-14 08:19:24 -07:00
libzipfile Fix a call to memset(3) with reversed arguments. 2009-09-03 11:52:31 -07:00
logcat Add gsm_rat_switched event tag. 2010-01-13 18:28:15 -08:00
logwrapper Add a printf format. 2010-05-10 14:47:56 -07:00
mkbootimg fastboot, mkbootimg: support alternate base addresses 2009-04-28 16:05:07 -07:00
netcfg auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
nexus nexus: Rollup update for nexus 2009-07-10 14:23:51 -07:00
rootdir am bf95c70f: Don\'t copy /proc/last_kmsg to /data/dontpanic/last_kmsg -- it gets generated on every boot, so this is a bunch of writing for no particularly good reason. 2009-11-29 19:39:24 -08:00
sh Use linenoise to add simple editing and history to the Android shell. 2010-05-25 14:49:57 +08:00
toolbox Fix "route add default dev <iface>" behaviour 2010-04-21 01:51:18 +02:00
vold vold: fix a bug of crash 2010-03-25 14:28:03 +08:00
.gitignore Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00
Android.mk libsysutils: New C++ system convenience library 2009-05-06 15:12:02 -07:00
README auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00

The system/ directory is intended for pieces of the world that are the
core of the embedded linux platform at the heart of Android.  These
essential bits are required for basic booting, operation, and debugging.

They should not depend on libraries outside of system/... (some of them
do currently -- they need to be updated or changed) and they should not
be required for the simulator build.

The license for all these pieces should be clean (Apache2, BSD, or MIT).

Currently system/bluetooth/... and system/extra/... have some pieces
with GPL/LGPL licensed code.

Assorted Issues:

- pppd depends on libutils for logging
- pppd depends on libcrypt/libcrypto
- init, linker, debuggerd, toolbox, usbd depend on libcutils
- should probably rename bionic to libc