VM Maker: Cog-eem.373.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: Cog-eem.373.mcz

commits-2
 
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.373.mcz

==================== Summary ====================

Name: Cog-eem.373
Author: eem
Time: 9 December 2019, 7:34:52.780952 pm
UUID: ed643698-337f-486e-992d-13db69bcbbad
Ancestors: Cog-eem.372

Move flushICacheFrom:to: up to te abstract superclass.
Fix a slip in GdbARMAlien>>instructionIsB:.
Implement some necessary initialization for GdbARMv8Alien.

=============== Diff against Cog-eem.372 ===============

Item was removed:
- ----- Method: BochsIA32Alien>>flushICacheFrom:to: (in category 'execution') -----
- flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
- self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was removed:
- ----- Method: BochsX64Alien>>flushICacheFrom:to: (in category 'execution') -----
- flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
- self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was added:
+ ----- Method: CogProcessorAlien>>flushICacheFrom:to: (in category 'execution') -----
+ flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
+ self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was removed:
- ----- Method: GdbARMAlien>>flushICacheFrom:to: (in category 'execution') -----
- flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
- self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was changed:
  ----- Method: GdbARMAlien>>instructionIsB: (in category 'testing') -----
  instructionIsB: instr
  "is this a B <offset> instruction?"
  "first test for non-NV condition code; some important instructions use it"
  ^(instr bitShift: -28) < 16rF
  "See ARM DDI0406A p. A8-44"
+ and: [((instr bitShift: -24) bitAnd: 16rF) = 16rA]!
- and: [(instr bitShift: -24) bitAnd: 16rF = 16rA]!

Item was added:
+ ----- Method: GdbARMv8Alien>>cResultRegister (in category 'accessing-abstract') -----
+ cResultRegister
+ ^self r0!

Item was added:
+ ----- Method: GdbARMv8Alien>>cResultRegister: (in category 'accessing-abstract') -----
+ cResultRegister: aValue
+ self r0: aValue!

Item was added:
+ ----- Method: GdbARMv8Alien>>initializeStackFor: (in category 'processor setup') -----
+ initializeStackFor: aCogit
+ "Different cpus need different stack alignment etc, so handle the details here.
+ See e.g. https://github.com/ARM-software/software-standards/blob/master/abi/aapcs64/aapcs64.rst#the-stack"
+ aCogit setStackAlignment: 16 expectedSPOffset: 0 expectedFPOffset: 0.
+ PostBuildStackDelta := 0!

Item was added:
+ ----- Method: GdbARMv8Alien>>setFramePointer:stackPointer: (in category 'accessing-abstract') -----
+ setFramePointer: framePointer stackPointer: stackPointer
+ "Initialize the processor's frame and stack pointers"
+ self fp: framePointer.
+ self sp: stackPointer!