# -*- 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=['X86BareMetalWorkload', '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')

SimObject('X86CPU.py', sim_objects=[], tags='x86 isa')
SimObject('AtomicSimpleCPU.py', sim_objects=[], tags='x86 isa')
SimObject('TimingSimpleCPU.py', sim_objects=[], tags='x86 isa')
SimObject('NonCachingSimpleCPU.py', sim_objects=[], tags='x86 isa')
SimObject('O3CPU.py', sim_objects=[], 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)
