0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Pourquoi superviser ? Détecter les pannes avant l'utilisateur Réagir plus rapidement en cas d'incident Anticiper les problèmes Contrôler et rendre compte Pilotage de l'exploitation"> 0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Pourquoi superviser ? Détecter les pannes avant l'utilisateur Réagir plus rapidement en cas d'incident Anticiper les problèmes Contrôler et rendre compte Pilotage de l'exploitation">

La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm.

Présentations similaires


Présentation au sujet: "Static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm."— Transcription de la présentation:

1 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Les outils de supervision libres Olivier Jan

2 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map La Supervision ✔ Une des fonctions de l'administration des SI ✔ Fonction clé de plusieurs normes et standards ● OSI System Management Overview [ISO-10040] ● ITIL

3 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Pourquoi superviser ? Détecter les pannes avant l'utilisateur Réagir plus rapidement en cas d'incident Anticiper les problèmes Contrôler et rendre compte Pilotage de l'exploitation

4 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Quoi superviser ? Environnement Matériel Réseau Système Bases de données Services (HTTP, SMTP, LDAP...) Applications Sécurité

5 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Pour qui superviser ? Dirigeants (DSI...) : Performance et disponibilité (SLA) Administrateurs : Technique et diagnostic Utilisateurs : Performance et disponibilité Financier : Comptabilité et facturation

6 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Comment superviser ? Actif Passif Sans agent Avec un agent

7 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Standards de la supervision SNMP - Simple Network Management Protocol IPMI - Intelligent Platform Management Interface JMX - Java Management Interface CIM - Common Information Model SBLIM - Standard Based Linux Instrumentation for Manageability WS-MANAGEMENT - Web Services for Management WBEM - Web Based Enterprise Management WMI - Windows Management Instrumentation

8 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Découpe fonctionnelle

9 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Résumé d'une démarche Que veut-on superviser? Bien qualifier le périmètre Présent et à venir (cartographie, dépendances,…)‏ Penser à une gestion de la configuration (Existe-t-elle ?)‏ Pourquoi met-on en place une supervision? Quels sont les problèmes actuels? Problèmes techniques et fonctionnels Problèmes de communication (workflow)‏ En quoi la supervision peut-elle nous aider à les résoudre? Pour qui met-on en place une supervision? Qui va gérer la supervision? Qui va utiliser la supervision? Qui va être acteur sur les informations remontées?

10 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Le marché de la supervision ● Le Big 4 – Tivoli – BMC – Unicenter – OpenView ● Le Little 4 – GroundWorks Monitor – Zenoss – Hyperic HQ – Zabbix PropriétaireOpen Source

11 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Pourquoi choisir un logiciel FOSS ? Une implémentation ratée d'un logiciel commercial De multiples outils pour superviser l'ensemble du SI Des applications critiques et spécifiques Expertise interne forte en Open Source

12 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Avantages FOSS Le code source L'interopérabilité Les coûts non liés au périmètre Possibilité de superviser des applications internes qui n'ont pas de connecteur "propriétaire" Implémentation en hyperviseur (consolidation de systèmes spécialisés comme Dell Open Manage. Un développement collaboratif et ouvert Le prix parce que l'on déploie uniquement ce dont on a besoin Moins d'administration car on n'administre que ce qu'on installe Des coûts d'extension plus faible Des coûts matériels plus faibles

13 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Le marché de la supervision FOSS – Nagios – Zenoss – Hyperic HQ – Zabbix – OpenNMS – Pandora FMS – Collectd – Monit – NEDI – 8Pussy – MRTG et RRDTool – Cacti Solutions complètesOutils spécialisés

14 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map

15

16

17

18

19

20 Pourquoi Nagios ? ✔ 10 ans (logiciel éprouvé) ✔ 100 % Open Source ✔ Carnet de route clair et détaillé ✔ Standard de facto ✔ Interopérabilité ✔ Communauté de 250 000 utilisateurs ✔ Support professionnel

21 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Nagios, les dérivés Dans le monde GroundWorks Monitor OpsView OP5 Snag View En france Centreon Vigilo FAN EyesOfNetwork

22 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Architecture Active Nagios

23 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Architecture Passive Nagios

24 static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm volatile("movec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\naddq.l #4,%0\nmovec %0,%caar\nmovec %1,%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm volatile("nop");}static void set_pgdir(void*rt){long_page_directory_entry entry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_RO OT;entry.addr=TA_TO_PREA(((addr_t)rt));asm volatile("pmove (%0),%srp\npmove (%0),%crp\n"::"a"((uint64*)&entry));}struct m68k_vm _ops m68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_map,m68k_vm_translation_map_init_kernel_map_post _sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_translation_map_init_post_sem,m68k_vm_translatio n_map_early_map Questions ? / Réponses ? Remerciements Rendez-vous sur nagios-fr.org


Télécharger ppt "Static void sync_icache_030(addr_t address,size_t len){int l,off;char*p;uint32 cacr;off=(unsigned int)address&(CACHELINE-1); len+=off;l=len;p=(char*)address-off;asm."

Présentations similaires


Annonces Google