# -*- mode:python -*-

# Copyright (c) 2007-2008 The Hewlett-Packard Development Company
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
# not be construed as granting a license to any other intellectual
# property including but not limited to intellectual property relating
# to a hardware implementation of the functionality of the software
# licensed hereunder.  You may use the software subject to the license
# terms below provided that you ensure that this notice is replicated
# unmodified and in its entirety in all distributions of the software,
# modified or unmodified, in source code or in binary form.
#
# Copyright (c) 2005-2006 The Regents of The University of Michigan
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met: redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer;
# redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution;
# neither the name of the copyright holders nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Import('*')

Source('cpuid.cc', tags='x86 isa')
Source('decoder.cc', tags='x86 isa')
Source('decoder_tables.cc', tags='x86 isa')
Source('emulenv.cc', tags='x86 isa')
Source('faults.cc', tags='x86 isa')
Source('fs_workload.cc', tags='x86 isa')
Source('insts/badmicroop.cc', tags='x86 isa')
Source('insts/microop.cc', tags='x86 isa')
Source('insts/microregop.cc', tags='x86 isa')
Source('insts/static_inst.cc', tags='x86 isa')
Source('interrupts.cc', tags='x86 isa')
Source('isa.cc', tags='x86 isa')
Source('nativetrace.cc', tags='x86 isa')
Source('pagetable.cc', tags='x86 isa')
Source('pagetable_walker.cc', tags='x86 isa')
Source('process.cc', tags='x86 isa')
Source('remote_gdb.cc', tags='x86 isa')
Source('tlb.cc', tags='x86 isa')
Source('types.cc', tags='x86 isa')
Source('utility.cc', tags='x86 isa')

SimObject('X86SeWorkload.py', sim_objects=['X86EmuLinux'], tags='x86 isa')
SimObject('X86FsWorkload.py', sim_objects=['X86FsWorkload', 'X86FsLinux'],
    tags='x86 isa')
SimObject('X86Decoder.py', sim_objects=['X86Decoder'], tags='x86 isa')
SimObject('X86ISA.py', sim_objects=['X86ISA'], tags='x86 isa')
SimObject('X86LocalApic.py', sim_objects=['X86LocalApic'], tags='x86 isa')
SimObject('X86MMU.py', sim_objects=['X86MMU'], tags='x86 isa')
SimObject('X86NativeTrace.py', sim_objects=['X86NativeTrace'], tags='x86 isa')
SimObject('X86TLB.py', sim_objects=['X86PagetableWalker', 'X86TLB'],
    tags='x86 isa')

DebugFlag('LocalApic', "Local APIC debugging", tags='x86 isa')
DebugFlag('X86', "Generic X86 ISA debugging", tags='x86 isa')
DebugFlag('ACPI', "ACPI debugging", tags='x86 isa')

python_files = (
    '__init__.py',
    'general_purpose/__init__.py',
    'general_purpose/arithmetic/__init__.py',
    'general_purpose/arithmetic/add_and_subtract.py',
    'general_purpose/arithmetic/increment_and_decrement.py',
    'general_purpose/arithmetic/multiply_and_divide.py',
    'general_purpose/cache_and_memory_management.py',
    'general_purpose/compare_and_test/__init__.py',
    'general_purpose/compare_and_test/bit_scan.py',
    'general_purpose/compare_and_test/bit_test.py',
    'general_purpose/compare_and_test/bounds.py',
    'general_purpose/compare_and_test/compare.py',
    'general_purpose/compare_and_test/set_byte_on_condition.py',
    'general_purpose/compare_and_test/test.py',
    'general_purpose/control_transfer/__init__.py',
    'general_purpose/control_transfer/call.py',
    'general_purpose/control_transfer/conditional_jump.py',
    'general_purpose/control_transfer/interrupts_and_exceptions.py',
    'general_purpose/control_transfer/jump.py',
    'general_purpose/control_transfer/loop.py',
    'general_purpose/control_transfer/xreturn.py',
    'general_purpose/data_conversion/__init__.py',
    'general_purpose/data_conversion/ascii_adjust.py',
    'general_purpose/data_conversion/bcd_adjust.py',
    'general_purpose/data_conversion/endian_conversion.py',
    'general_purpose/data_conversion/extract_sign_mask.py',
    'general_purpose/data_conversion/sign_extension.py',
    'general_purpose/data_conversion/translate.py',
    'general_purpose/data_transfer/__init__.py',
    'general_purpose/data_transfer/conditional_move.py',
    'general_purpose/data_transfer/move.py',
    'general_purpose/data_transfer/stack_operations.py',
    'general_purpose/data_transfer/xchg.py',
    'general_purpose/flags/__init__.py',
    'general_purpose/flags/load_and_store.py',
    'general_purpose/flags/push_and_pop.py',
    'general_purpose/flags/set_and_clear.py',
    'general_purpose/input_output/__init__.py',
    'general_purpose/input_output/general_io.py',
    'general_purpose/input_output/string_io.py',
    'general_purpose/load_effective_address.py',
    'general_purpose/load_segment_registers.py',
    'general_purpose/logical.py',
    'general_purpose/no_operation.py',
    'general_purpose/rotate_and_shift/__init__.py',
    'general_purpose/rotate_and_shift/rotate.py',
    'general_purpose/rotate_and_shift/shift.py',
    'general_purpose/semaphores.py',
    'general_purpose/string/__init__.py',
    'general_purpose/string/compare_strings.py',
    'general_purpose/string/load_string.py',
    'general_purpose/string/move_string.py',
    'general_purpose/string/scan_string.py',
    'general_purpose/string/store_string.py',
    'general_purpose/system_calls.py',
    'romutil.py',
    'system/__init__.py',
    'system/control_registers.py',
    'system/halt.py',
    'system/invlpg.py',
    'system/undefined_operation.py',
    'system/msrs.py',
    'system/segmentation.py',
    'simd128/__init__.py',
    'simd128/integer/__init__.py',
    'simd128/integer/data_transfer/__init__.py',
    'simd128/integer/data_transfer/move.py',
    'simd128/integer/data_transfer/move_non_temporal.py',
    'simd128/integer/data_transfer/move_mask.py',
    'simd128/integer/data_conversion/__init__.py',
    'simd128/integer/data_conversion/convert_mmx_integer_to_floating_point.py',
    'simd128/integer/data_conversion/convert_integer_to_floating_point.py',
    'simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py',
    'simd128/integer/data_reordering/__init__.py',
    'simd128/integer/data_reordering/unpack_and_interleave.py',
    'simd128/integer/data_reordering/pack_with_saturation.py',
    'simd128/integer/data_reordering/extract_and_insert.py',
    'simd128/integer/data_reordering/shuffle.py',
    'simd128/integer/arithmetic/__init__.py',
    'simd128/integer/arithmetic/subtraction.py',
    'simd128/integer/arithmetic/addition.py',
    'simd128/integer/arithmetic/multiplication.py',
    'simd128/integer/arithmetic/multiply_add.py',
    'simd128/integer/arithmetic/average.py',
    'simd128/integer/arithmetic/sum_of_absolute_differences.py',
    'simd128/integer/shift/__init__.py',
    'simd128/integer/shift/right_arithmetic_shift.py',
    'simd128/integer/shift/left_logical_shift.py',
    'simd128/integer/shift/right_logical_shift.py',
    'simd128/integer/compare/__init__.py',
    'simd128/integer/compare/compare_and_write_mask.py',
    'simd128/integer/compare/compare_and_write_minimum_or_maximum.py',
    'simd128/integer/logical/__init__.py',
    'simd128/integer/logical/pand.py',
    'simd128/integer/logical/por.py',
    'simd128/integer/logical/exclusive_or.py',
    'simd128/integer/save_and_restore_state/__init__.py',
    'simd128/integer/save_and_restore_state/save_and_restore_state.py',
    'simd128/integer/save_and_restore_state/'
        'save_and_restore_control_and_status.py',
    'simd128/floating_point/__init__.py',
    'simd128/floating_point/data_transfer/__init__.py',
    'simd128/floating_point/data_transfer/move_mask.py',
    'simd128/floating_point/data_transfer/move.py',
    'simd128/floating_point/data_transfer/move_with_duplication.py',
    'simd128/floating_point/data_transfer/move_non_temporal.py',
    'simd128/floating_point/data_conversion/__init__.py',
    'simd128/floating_point/data_conversion/'
        'convert_floating_point_to_floating_point.py',
    'simd128/floating_point/data_conversion/'
        'convert_floating_point_to_xmm_integer.py',
    'simd128/floating_point/data_conversion/'
        'convert_floating_point_to_mmx_integer.py',
    'simd128/floating_point/data_conversion/'
        'convert_floating_point_to_gpr_integer.py',
    'simd128/floating_point/data_reordering/__init__.py',
    'simd128/floating_point/data_reordering/unpack_and_interleave.py',
    'simd128/floating_point/data_reordering/shuffle.py',
    'simd128/floating_point/arithmetic/__init__.py',
    'simd128/floating_point/arithmetic/subtraction.py',
    'simd128/floating_point/arithmetic/addition.py',
    'simd128/floating_point/arithmetic/horizontal_subtraction.py',
    'simd128/floating_point/arithmetic/horizontal_addition.py',
    'simd128/floating_point/arithmetic/square_root.py',
    'simd128/floating_point/arithmetic/'
        'simultaneous_addition_and_subtraction.py',
    'simd128/floating_point/arithmetic/multiplication.py',
    'simd128/floating_point/arithmetic/division.py',
    'simd128/floating_point/arithmetic/reciprocal_square_root.py',
    'simd128/floating_point/arithmetic/reciprocal_estimation.py',
    'simd128/floating_point/compare/__init__.py',
    'simd128/floating_point/compare/compare_and_write_mask.py',
    'simd128/floating_point/compare/compare_and_write_rflags.py',
    'simd128/floating_point/compare/compare_and_write_minimum_or_maximum.py',
    'simd128/floating_point/logical/__init__.py',
    'simd128/floating_point/logical/andp.py',
    'simd128/floating_point/logical/orp.py',
    'simd128/floating_point/logical/exclusive_or.py',
    'simd64/__init__.py',
    'simd64/integer/__init__.py',
    'simd64/integer/data_transfer/__init__.py',
    'simd64/integer/data_transfer/move_mask.py',
    'simd64/integer/data_transfer/move.py',
    'simd64/integer/data_transfer/move_non_temporal.py',
    'simd64/integer/exit_media_state.py',
    'simd64/integer/data_reordering/__init__.py',
    'simd64/integer/data_reordering/unpack_and_interleave.py',
    'simd64/integer/data_reordering/pack_with_saturation.py',
    'simd64/integer/data_reordering/extract_and_insert.py',
    'simd64/integer/data_reordering/shuffle_and_swap.py',
    'simd64/integer/data_conversion.py',
    'simd64/integer/arithmetic/__init__.py',
    'simd64/integer/arithmetic/subtraction.py',
    'simd64/integer/arithmetic/addition.py',
    'simd64/integer/arithmetic/multiplication.py',
    'simd64/integer/arithmetic/multiply_add.py',
    'simd64/integer/arithmetic/average.py',
    'simd64/integer/arithmetic/sum_of_absolute_differences.py',
    'simd64/integer/shift/__init__.py',
    'simd64/integer/shift/right_arithmetic_shift.py',
    'simd64/integer/shift/left_logical_shift.py',
    'simd64/integer/shift/right_logical_shift.py',
    'simd64/integer/compare/__init__.py',
    'simd64/integer/compare/compare_and_write_mask.py',
    'simd64/integer/compare/compare_and_write_minimum_or_maximum.py',
    'simd64/integer/logical/__init__.py',
    'simd64/integer/logical/pand.py',
    'simd64/integer/logical/por.py',
    'simd64/integer/logical/exclusive_or.py',
    'simd64/integer/save_and_restore_state.py',
    'simd64/floating_point/__init__.py',
    'simd64/floating_point/arithmetic/__init__.py',
    'simd64/floating_point/arithmetic/subtraction.py',
    'simd64/floating_point/arithmetic/addition.py',
    'simd64/floating_point/arithmetic/reciprocal_estimation.py',
    'simd64/floating_point/arithmetic/multiplication.py',
    'simd64/floating_point/arithmetic/accumulation.py',
    'simd64/floating_point/arithmetic/reciprocal_square_root.py',
    'simd64/floating_point/data_conversion.py',
    'simd64/floating_point/compare/__init__.py',
    'simd64/floating_point/compare/compare_and_write_mask.py',
    'simd64/floating_point/compare/compare_and_write_minimum_or_maximum.py',
    'x87/__init__.py',
    'x87/data_transfer_and_conversion/__init__.py',
    'x87/data_transfer_and_conversion/convert_and_load_or_store_integer.py',
    'x87/data_transfer_and_conversion/load_or_store_floating_point.py',
    'x87/data_transfer_and_conversion/exchange.py',
    'x87/data_transfer_and_conversion/convert_and_load_or_store_bcd.py',
    'x87/data_transfer_and_conversion/conditional_move.py',
    'x87/data_transfer_and_conversion/extract.py',
    'x87/load_constants/__init__.py',
    'x87/load_constants/load_0_1_or_pi.py',
    'x87/load_constants/load_logarithm.py',
    'x87/arithmetic/__init__.py',
    'x87/arithmetic/subtraction.py',
    'x87/arithmetic/addition.py',
    'x87/arithmetic/partial_remainder.py',
    'x87/arithmetic/multiplication.py',
    'x87/arithmetic/division.py',
    'x87/arithmetic/change_sign.py',
    'x87/arithmetic/round.py',
    'x87/arithmetic/square_root.py',
    'x87/transcendental_functions/__init__.py',
    'x87/transcendental_functions/trigonometric_functions.py',
    'x87/transcendental_functions/logarithmic_functions.py',
    'x87/compare_and_test/__init__.py',
    'x87/compare_and_test/classify.py',
    'x87/compare_and_test/test.py',
    'x87/compare_and_test/floating_point_ordered_compare.py',
    'x87/compare_and_test/floating_point_unordered_compare.py',
    'x87/compare_and_test/integer_compare.py',
    'x87/stack_management/__init__.py',
    'x87/stack_management/stack_control.py',
    'x87/stack_management/clear_state.py',
    'x87/control/__init__.py',
    'x87/control/clear_exceptions.py',
    'x87/control/initialize.py',
    'x87/control/wait_for_exceptions.py',
    'x87/control/save_x87_status_word.py',
    'x87/control/save_and_restore_x87_control_word.py',
    'x87/control/save_and_restore_x87_environment.py',
    'x87/no_operation.py'
    )


# Add in files generated by the ISA description.
isa_desc_files = ISADesc('isa/main.isa', tags='x86 isa')
for f in isa_desc_files:
    # Add in python file dependencies that won't be caught otherwise
    for pyfile in python_files:
        env.Depends(f, "isa/insts/%s" % pyfile)
