1##########################################################################
2# Copyright (c) 2009, 2016, ETH Zurich.
3# All rights reserved.
4#
5# This file is distributed under the terms in the attached LICENSE file.
6# If you do not find this file, copies can be found by writing to:
7# ETH Zurich D-INFK, Universitaetstr 6, CH-8092 Zurich. Attn: Systems Group.
8##########################################################################
9
10machines = dict({
11    'nos4'   : {'ncores'      : 4,
12                'machine_name' : 'nos4',
13                'bootarch' : 'x86_64',
14                'buildarchs' : ['x86_64'],
15                'cores_per_socket': 2,
16                'perfcount_type': 'amd0f',
17                'tickrate'    : 2800},
18    'nos5'   : {'ncores'      : 4,
19                'machine_name' : 'nos5',
20                'bootarch' : 'x86_64',
21                'buildarchs' : ['x86_64'],
22                'cores_per_socket': 2,
23                'perfcount_type': 'amd0f',
24                'tickrate'    : 2800},
25    'nos6'   : {'ncores'      : 4,
26                'machine_name' : 'nos6',
27                'bootarch' : 'x86_64',
28                'buildarchs' : ['x86_64'],
29                'cores_per_socket': 2,
30                'perfcount_type': 'amd0f',
31                'tickrate'    : 2800},
32
33    'sbrinz1': {'ncores'      : 16,
34                'machine_name' : 'sbrinz1',
35                'bootarch' : 'x86_64',
36                'buildarchs' : ['x86_64'],
37                'cores_per_socket': 4,
38                'perfcount_type': 'amd10',
39                'tickrate'    : 2500,
40                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
41                },
42    'sbrinz2': {'ncores'      : 16,
43                'machine_name' : 'sbrinz2',
44                'bootarch' : 'x86_64',
45                'buildarchs' : ['x86_64'],
46                'cores_per_socket': 4,
47                'perfcount_type': 'amd10',
48                'tickrate'    : 2500,
49                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
50                },
51
52    'gruyere': {'ncores'      : 32,
53                'machine_name' : 'gruyere',
54                'bootarch' : 'x86_64',
55                'buildarchs' : ['x86_64'],
56                'cores_per_socket': 4,
57                'perfcount_type': 'amd10',
58                'tickrate'    : 2000,
59                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
60                },
61
62    'ziger1':  {'ncores'      : 24,
63                'machine_name' : 'ziger1',
64                'bootarch' : 'x86_64',
65                'buildarchs' : ['x86_64'],
66                'cores_per_socket': 6,
67                'perfcount_type': 'amd10',
68                'tickrate'    : 2400.367},
69    'ziger2':  {'ncores'      : 24,
70                'machine_name' : 'ziger2',
71                'bootarch' : 'x86_64',
72                'buildarchs' : ['x86_64'],
73                'cores_per_socket': 6,
74                'perfcount_type': 'amd10',
75                'tickrate'    : 2400.367},
76
77
78    'tomme1':  {'ncores'      : 16,
79                'machine_name' : 'tomme1',
80                'bootarch' : 'x86_64',
81                'buildarchs' : ['x86_64'],
82                'cores_per_socket': 8,
83                'perfcount_type': 'intel',
84                'tickrate'    : 2270,
85                'boot_timeout': 360,
86                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
87                'kernel_args' : ['serial=0x2f8']},
88    'tomme2':  {'ncores'      : 16,
89                'machine_name' : 'tomme2',
90                'bootarch' : 'x86_64',
91                'buildarchs' : ['x86_64'],
92                'cores_per_socket': 8,
93                'perfcount_type': 'intel',
94                'tickrate'    : 2270,
95                'boot_timeout': 360,
96                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
97                'kernel_args' : ['serial=0x2f8']},
98
99    'vacherin':{'ncores'      : 4,
100                'machine_name' : 'vacherin',
101                'bootarch' : 'x86_64',
102                'buildarchs' : ['x86_64'],
103                'cores_per_socket': 4,
104                'perfcount_type': 'intel',
105                'tickrate'    : 3400,
106                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
107                },
108
109    'appenzeller': {'ncores'      : 48,
110                    'machine_name' : 'appenzeller',
111                    'bootarch' : 'x86_64',
112                    'buildarchs' : ['x86_64'],
113                    'cores_per_socket': 12,
114                    'perfcount_type': 'amd10',
115                    'tickrate'    : 2200,
116                    'boot_timeout': 360,
117                    'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
118                    },
119
120    'gottardo': {'ncores'      : 32,
121                 'machine_name' : 'gottardo',
122                 'bootarch' : 'x86_64',
123                 'buildarchs' : ['x86_64'],
124                 'cores_per_socket': 16,
125                 'perfcount_type': 'intel',
126                 'tickrate'    : 1870,
127                 'boot_timeout': 360},
128
129    'babybel1': {'ncores'          : 20,
130                'machine_name'    : 'babybel1',
131                'bootarch'        : 'x86_64',
132                'buildarchs'      : ['x86_64', 'k1om'],
133                'cores_per_socket': 10,
134                'perfcount_type'  : 'intel',
135                'tickrate'        : 2500,
136                'boot_timeout'    : 360,
137                'xphi_ncores'     : 57,
138                'xphi_ncards'     : 2,
139                'xphi_tickrate'   : 1140,
140                'xphi_ram_gb'     : 6,
141                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
142                'eth0'            : (4, 0, 0),
143                },
144
145    'babybel2': {'ncores'          : 20,
146                'machine_name'    : 'babybel2',
147                'bootarch'        : 'x86_64',
148                'buildarchs'      : ['x86_64', 'k1om'],
149                'cores_per_socket': 10,
150                'perfcount_type'  : 'intel',
151                'tickrate'        : 2500,
152                'boot_timeout'    : 360,
153                'xphi_ncores'     : 57,
154                'xphi_ncards'     : 2,
155                'xphi_tickrate'   : 1140,
156                'xphi_ram_gb'     : 6,
157                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
158                'eth0'            : (4, 0, 0),
159                },
160
161    'babybel3': {'ncores'          : 20,
162                'machine_name'    : 'babybel3',
163                'bootarch'        : 'x86_64',
164                'buildarchs'      : ['x86_64', 'k1om'],
165                'cores_per_socket': 10,
166                'perfcount_type'  : 'intel',
167                'tickrate'        : 2500,
168                'boot_timeout'    : 360,
169                'xphi_ncores'     : 57,
170                'xphi_ncards'     : 2,
171                'xphi_tickrate'   : 1140,
172                'xphi_ram_gb'     : 6,
173                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
174                'eth0'            : (4, 0, 0),
175                },
176
177    'babybel4': {'ncores'          : 20,
178                'machine_name'    : 'babybel4',
179                'bootarch'        : 'x86_64',
180                'buildarchs'      : ['x86_64', 'k1om'],
181                'cores_per_socket': 10,
182                'perfcount_type'  : 'intel',
183                'tickrate'        : 2500,
184                'boot_timeout'    : 360,
185                'xphi_ncores'     : 57,
186                'xphi_ncards'     : 2,
187                'xphi_tickrate'   : 1140,
188                'xphi_ram_gb'     : 6,
189                'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
190                'eth0'            : (4, 0, 0),
191                },
192
193   'tilsiter1': {'ncores'          : 2,
194                 'machine_name'    : 'tilsiter1',
195                 'bootarch'        : 'x86_64',
196                 'buildarchs'      : ['x86_64'],
197                 'cores_per_socket': 2,
198                 'perfcount_type'  : 'intel',
199                 'tickrate'        : 2500,
200                 'boot_timeout'    : 120,
201                 'pci_args'        : [ "skb_bridge_program=bridge_bios" ],
202                 },
203
204    'nos4-32'   : {'ncores'      : 4,
205                   'machine_name' : 'nos4',
206                   'bootarch' : 'x86_32',
207                   'buildarchs' : ['x86_64', 'x86_32'],
208                   'cores_per_socket': 2,
209                   'perfcount_type': 'amd0f',
210                   'tickrate'    : 2800},
211    'nos5-32'   : {'ncores'      : 4,
212                   'machine_name' : 'nos5',
213                   'bootarch' : 'x86_32',
214                   'buildarchs' : ['x86_64', 'x86_32'],
215                   'cores_per_socket': 2,
216                   'perfcount_type': 'amd0f',
217                   'tickrate'    : 2800},
218    'nos6-32'   : {'ncores'      : 4,
219                   'machine_name' : 'nos6',
220                   'bootarch' : 'x86_32',
221                   'buildarchs' : ['x86_64', 'x86_32'],
222                   'cores_per_socket': 2,
223                   'perfcount_type': 'amd0f',
224                   'tickrate'    : 2800},
225
226    'sbrinz1-32': {'ncores'      : 16,
227                   'machine_name' : 'sbrinz1',
228                   'bootarch' : 'x86_32',
229                   'buildarchs' : ['x86_64', 'x86_32'],
230                   'cores_per_socket': 4,
231                   'perfcount_type': 'amd10',
232                   'tickrate'    : 2500},
233    'sbrinz2-32': {'ncores'      : 16,
234                   'machine_name' : 'sbrinz2',
235                   'bootarch' : 'x86_32',
236                   'buildarchs' : ['x86_64', 'x86_32'],
237                   'cores_per_socket': 4,
238                   'perfcount_type': 'amd10',
239                   'tickrate'    : 2500},
240
241    'gruyere-32': {'ncores'      : 32,
242                   'machine_name' : 'gruyere',
243                   'bootarch' : 'x86_32',
244                   'buildarchs' : ['x86_64', 'x86_32'],
245                   'cores_per_socket': 4,
246                   'perfcount_type': 'amd10',
247                   'tickrate'    : 2000},
248
249    'ziger1-32':  {'ncores'      : 24,
250                   'machine_name' : 'ziger1',
251                   'bootarch' : 'x86_32',
252                   'buildarchs' : ['x86_64', 'x86_32'],
253                   'cores_per_socket': 6,
254                   'perfcount_type': 'amd10',
255                   'tickrate'    : 2400.367},
256    'ziger2-32':  {'ncores'      : 24,
257                   'machine_name' : 'ziger2',
258                   'bootarch' : 'x86_32',
259                   'buildarchs' : ['x86_64', 'x86_32'],
260                   'cores_per_socket': 6,
261                   'perfcount_type': 'amd10',
262                   'tickrate'    : 2400.367},
263
264    'tomme1-32':  {'ncores'      : 16,
265                   'machine_name' : 'tomme1',
266                   'bootarch' : 'x86_32',
267                   'buildarchs' : ['x86_64', 'x86_32'],
268                   'cores_per_socket': 8,
269                   'perfcount_type': 'intel',
270                   'tickrate'    : 2270,
271                   'boot_timeout': 360,
272                   'kernel_args' : ['serial=0x2f8']},
273    'tomme2-32':  {'ncores'      : 16,
274                   'machine_name' : 'tomme2',
275                   'bootarch' : 'x86_32',
276                   'buildarchs' : ['x86_64', 'x86_32'],
277                   'cores_per_socket': 8,
278                   'perfcount_type': 'intel',
279                   'tickrate'    : 2270,
280                   'boot_timeout': 360,
281                   'kernel_args' : ['serial=0x2f8']},
282
283    'appenzeller-32': {'ncores'      : 48,
284                       'machine_name' : 'appenzeller',
285                       'bootarch' : 'x86_32',
286                       'buildarchs' : ['x86_64', 'x86_32'],
287                       'cores_per_socket': 12,
288                       'perfcount_type': 'amd10',
289                       'tickrate'    : 2200,
290                       'boot_timeout': 360},
291
292    'gottardo-32': {'ncores'      : 32,
293                    'machine_name' : 'gottardo',
294                    'bootarch' : 'x86_32',
295                    'buildarchs' : ['x86_64', 'x86_32'],
296                    'cores_per_socket': 16,
297                    'perfcount_type': 'intel',
298                    'tickrate'    : 1870,
299                    'boot_timeout': 360},
300
301    'vacherin-32': {'ncores'      : 4,
302                'machine_name' : 'vacherin',
303                'bootarch' : 'x86_32',
304                'buildarchs' : ['x86_64', 'x86_32'],
305                'cores_per_socket': 4,
306                'perfcount_type': 'intel',
307                'tickrate'    : 3400},
308
309    'babybel1-32': {'ncores'          : 20,
310                'machine_name'    : 'babybel1',
311                'bootarch'        : 'x86_32',
312                'buildarchs'      : ['x86_64', 'x86_32'],
313                'cores_per_socket': 10,
314                'perfcount_type'  : 'intel',
315                'tickrate'        : 2500,
316                'boot_timeout'    : 360},
317
318    'babybel2-32': {'ncores'          : 20,
319                'machine_name'    : 'babybel2',
320                'bootarch'        : 'x86_32',
321                'buildarchs'      : ['x86_64', 'x86_32'],
322                'cores_per_socket': 10,
323                'perfcount_type'  : 'intel',
324                'tickrate'        : 2500,
325                'boot_timeout'    : 360},
326
327    'babybel3-32': {'ncores'          : 20,
328                   'machine_name'    : 'babybel3',
329                   'bootarch'        : 'x86_32',
330                   'buildarchs'      : ['x86_64', 'x86_32'],
331                   'cores_per_socket': 10,
332                   'perfcount_type'  : 'intel',
333                   'tickrate'        : 2500,
334                   'boot_timeout'    : 360},
335    'babybel4-32': {'ncores'          : 20,
336                   'machine_name'    : 'babybel4',
337                   'bootarch'        : 'x86_32',
338                   'buildarchs'      : ['x86_64', 'x86_32'],
339                   'cores_per_socket': 10,
340                   'perfcount_type'  : 'intel',
341                   'tickrate'        : 2500,
342                   'boot_timeout'    : 360},
343    'xeon_phi_1': {'ncores'          : 64,
344                   'nphi'            : 2,
345                   'host_ncores'     : 20,
346                   'machine_name'    : 'babybel1',
347                   'bootarch'        : 'x86_64',
348                   'buildarchs'      : ['k1om', 'x86_64'],
349                   'cores_per_socket': 10,
350                   'perfcount_type'  : 'intel',
351                   'tickrate'        : 1140,
352                   'host_tickrate'   : 2500,
353                   'boot_timeout'    : 360},
354    'xeon_phi_2': {'ncores'          : 64,
355                   'nphi'            : 2,
356                   'host_ncores'     : 20,
357                   'machine_name'    : 'babybel2',
358                   'bootarch'        : 'x86_64',
359                   'buildarchs'      : ['k1om', 'x86_64'],
360                   'cores_per_socket': 10,
361                   'perfcount_type'  : 'intel',
362                   'tickrate'        : 1140,
363                   'host_tickrate'   : 2500,
364                   'boot_timeout'    : 360},
365    'xeon_phi_3': {'ncores'          : 64,
366                   'nphi'            : 2,
367                   'host_ncores'     : 20,
368                   'machine_name'    : 'babybel3',
369                   'bootarch'        : 'x86_64',
370                   'buildarchs'      : ['k1om', 'x86_64'],
371                   'cores_per_socket': 10,
372                   'perfcount_type'  : 'intel',
373                   'tickrate'        : 1140,
374                   'host_tickrate'   : 2500,
375                   'boot_timeout'    : 360},
376    'xeon_phi_4': {'ncores'          : 64,
377                   'nphi'            : 2,
378                   'host_ncores'     : 20,
379                   'machine_name'    : 'babybel4',
380                   'bootarch'        : 'x86_64',
381                   'buildarchs'      : ['k1om', 'x86_64'],
382                   'cores_per_socket': 10,
383                   'perfcount_type'  : 'intel',
384                   'tickrate'        : 1140,
385                   'host_tickrate'   : 2500,
386                   'boot_timeout'    : 360},
387
388    'danablu1': {'ncores'      : 8,
389                 'machine_name' : 'danablu1',
390                 'bootarch' : 'armv8',
391                 'buildarchs' : ['armv8'],
392                 'cores_per_socket': 8,
393                 'perfcount_type': 'arm',
394                 'tickrate'    : 2400,
395                 'boot_timeout': 360,
396                 'platform': 'apm88xxxx',
397                 'buildall_target': 'APM88xxxx',
398                 'serial_binary': 'serial_kernel',
399                 'boot_driver' : 'boot_armv8_generic'},
400
401    'gorgonzola1': {'ncores'      : 48,
402                    'machine_name' : 'gorgonzola1',
403                    'bootarch' : 'armv8',
404                    'buildarchs' : ['armv8'],
405                    'cores_per_socket': 48,
406                    'perfcount_type': 'arm',
407                    'tickrate'    : 1950,
408                    'boot_timeout': 360,
409                    'platform': 'cn88xx',
410                    'buildall_target': 'ThunderX',
411                    'serial_binary': 'serial_kernel',
412                    'boot_driver' : 'boot_armv8_generic'},
413    'gorgonzola2': {'ncores'      : 48,
414                    'machine_name' : 'gorgonzola2',
415                    'bootarch' : 'armv8',
416                    'buildarchs' : ['armv8'],
417                    'cores_per_socket': 48,
418                    'perfcount_type': 'arm',
419                    'tickrate'    : 1950,
420                    'boot_timeout': 360,
421                    'platform': 'cn88xx',
422                    'buildall_target': 'ThunderX',
423                    'serial_binary': 'serial_kernel',
424                    'boot_driver' : 'boot_armv8_generic'},
425    'roquefort':    {'ncores'      : 96,
426                     'machine_name' : 'roquefort',
427                     'bootarch' : 'armv8',
428                     'buildarchs' : ['armv8'],
429                     'cores_per_socket': 48,
430                     'perfcount_type': 'arm',
431                     'tickrate'    : 1950,
432                     'boot_timeout': 720,
433                     'platform': 'cn88xx',
434                     'buildall_target': 'ThunderX',
435                     'serial_binary': 'serial_kernel',
436                     'boot_driver' : 'boot_armv8_generic'},
437
438
439    # SK: For Python 2.7
440    # }.items() + {
441    #     'brie%s' % b: {
442    #         'ncores' : 4,
443    #         'machine_name' : ('brie%s' % b),
444    #         'bootarch' : 'x86_64',
445    #         'buildarchs' : ['x86_64', 'x86_32'],
446    #         'cores_per_socket' : 2,
447    #         'tickrate' : 2193,
448    #         'boot_timeout' : 360,
449    #         } for b in range(1, 17) if b != 11 }.items()
450
451    # SK: For Python 2.6, which is what the current toolchain is ATM
452    }.items() +
453        dict(('brie%s' % b, {
454                'ncores' : 4,
455                'machine_name' : ('brie%s' % b),
456                'bootarch' : 'x86_64',
457                'buildarchs' : ['x86_64'],
458                'cores_per_socket' : 2,
459                'tickrate' : 2193,
460                'perfcount_type': 'amd0f',
461                'boot_timeout' : 360,
462                }) for b in range(1, 17) if b != 11
463        ).items() +
464        dict(('brie%s-32' % b, {
465                'ncores' : 4,
466                'machine_name' : ('brie%s' % b),
467                'bootarch' : 'x86_32',
468                'buildarchs' : ['x86_64', 'x86_32'],
469                'cores_per_socket' : 2,
470                'tickrate' : 2193,
471                'perfcount_type': 'amd0f',
472                'boot_timeout' : 360,
473                }) for b in range(1, 17) if b != 11
474        ).items() +
475        dict(('feta%s' % b, {
476                'ncores' : 4,
477                'machine_name' : ('feta%s' % b),
478                'bootarch' : 'x86_64',
479                'buildarchs' : ['x86_64'],
480                'cores_per_socket' : 2,
481                'tickrate' : 2400,      #TODO Checkme
482                'perfcount_type': 'amd0f', #TODO Checkme
483                'boot_timeout' : 360,
484                'acpi_args' : ["ignore_irq_override"],
485                }) for b in range(1, 6)
486        ).items() +
487        dict(('mozzarella%s' % b, {
488                'ncores' : 4,
489                'machine_name' : ('mozzarella%s' % b),
490                'bootarch' : 'x86_64',
491                'buildarchs' : ['x86_64'],
492                'cores_per_socket' : 2,
493                'tickrate' : 2400,      #TODO Checkme
494                'perfcount_type': 'amd0f', #TODO Checkme
495                'boot_timeout' : 360,
496                }) for b in range(1, 6)
497        ).items()
498)
499
500pandaboards = dict({
501    'panda1':     {'ncores'          : 2,
502                   'nphi'            : 0,
503                   'host_ncores'     : 20,
504                   'machine_name'    : 'panda1',
505                   'bootarch'        : 'armv7',
506                   'platform'        : 'omap44xx',
507                   'buildarchs'      : ['armv7'],
508                   'cores_per_socket': 2,
509                   'perfcount_type'  : 'arm',
510                   'tickrate'        : 1000, # XXX ?
511                   'host_tickrate'   : 2500,
512                   'boot_timeout'    : 360},
513    'panda2':     {'ncores'          : 2,
514                   'nphi'            : 0,
515                   'host_ncores'     : 20,
516                   'machine_name'    : 'panda2',
517                   'bootarch'        : 'armv7',
518                   'platform'        : 'omap44xx',
519                   'buildarchs'      : ['armv7'],
520                   'cores_per_socket': 2,
521                   'perfcount_type'  : 'arm',
522                   'tickrate'        : 1000, # XXX ?
523                   'host_tickrate'   : 2500,
524                   'boot_timeout'    : 360},
525    'panda3':     {'ncores'          : 2,
526                   'nphi'            : 0,
527                   'host_ncores'     : 20,
528                   'machine_name'    : 'panda3',
529                   'bootarch'        : 'armv7',
530                   'platform'        : 'omap44xx',
531                   'buildarchs'      : ['armv7'],
532                   'cores_per_socket': 2,
533                   'perfcount_type'  : 'arm',
534                   'tickrate'        : 1000, # XXX ?
535                   'host_tickrate'   : 2500,
536                   'boot_timeout'    : 360},
537})
538